如何让不同版本的 Firefox 在电脑中共存,并且可以同时执行

Firefox Quantum

前一阵子 Mozilla 推出了全新的 Firefox Quantum,号称是 Firefox 史上最大的一次改版,效能是之前版本的两倍!!

我试用了之后发觉,这次的 Mozilla 竟然没有唬烂,效能的进步是感觉得出来的,而且非常稳定,开再多的分页都不会觉得 Lag!!

Firefox Quantum 的版号从 57 开始,新旧版本的 Firefox 在功能上倒是没什么差别,但是全新改版的 Firefox Quantum 只能安装以 WebExtensions API 重新改写过的附加元件,因此有很多旧版的附加元件尚无法拿来使用。在附加元件尚不完全相容的状况下,我就没有直接从旧版的 Firefox 升级了,而是设法同时使用两个不同版本的 Firefox: v57 与 v56 。

Read more

我爱大自然: 鲁肉饭之大数据 - 这是一个围绕着“大”的故事

以下我要写的文章,其实不是我爱写的文章类型,因为这种文章的逻辑不通,而且对科技界一点贡献也没有。再者我也不喜欢吃鲁肉饭,这篇算是比较没有营养的文章,大家可以当作笑话看看就好。不过我还是有些“大数据”的观念想跟大家分享。

Read more

WannaCry 勒索病毒与 Windows 安全性更新档下载网址

这两天 WannaCry (WanaCrypt0r 2.0) 勒索病毒肆虐,台湾成为全球第二重灾区!!

这个病毒是针对 Windows 的 SMB 漏洞进行攻击,大部分其他病毒均是透过执行病毒所感染的档案来传播,与其他病毒不同的是,WannaCry 勒索病毒具有自行在“局域网路”扩散的能力

目前确定会遭受感染的作业系统为 Windows XP/Vista/7/8/8.1/10、Windows Server 2003/2008/2012,意思就是所有的 Windows 版本都会遭受感染

Read more

本站推荐的 Chrome 浏览器扩充套件 (Extensions)

要使用这些扩充套件,你得先安装 Google Chrome 浏览器。

书签/稍后阅读

  1. Save to Pocket: 快速储存连结及网页内容到它的“Pocket”网站,之后你可以在它的网站或行动装置上阅读储存的网页 (Pocket 行动装置版本)。它会重新编排网页,让网页更加容易阅读。以前它的名字叫“Read it Later”。
  2. Diigo Web Collector: 网络书签,其功能像以前“Delicious 美味书签”的加强版。

Read more

设定 MediaWiki 可以上传 zip 档

MediaWiki 默认只能上传 png、gif、jpg、jpeg 这些图档,我们可以在 LocalSettings.php 编辑:

$wgEnableUploads  = false;
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg' );

加入你额外想要上传的档案类型 (找不到这两行的话就自己加上去):

$wgEnableUploads  = true;
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'zip', 'pdf', 'rar' );

上面的目的是为了可以额外再上传 zip、pdf、rar 类型的档案。可惜事与愿违,上传 pdf 与 rar 档都没问是,但要上传 zip 档却给我出现:

MIME 类别 "application/zip" 不是容许的档案格式。

原来是因为 MediaWiki 有设一些副档名的“黑名单”,刚好 zip 就在其中,设定档在: includes/DefaultSettings.php

找到内容:

$wgMimeTypeBlacklist= array(
        # HTML may contain cookie-stealing JavaScript and web bugs
        'text/html', 'text/javascript', 'text/x-javascript',  'application/x-shellscript',
        # PHP scripts may execute arbitrary code on the server
        'application/x-php', 'text/x-php',
        # Other types that may be interpreted by some servers
        'text/x-python', 'text/x-perl', 'text/x-bash', 'text/x-sh', 'text/x-csh',
        # Client-side hazards on Internet Explorer
        'text/scriptlet', 'application/x-msdownload',
        # Windows metafile, client-side vulnerability on some systems
        'application/x-msmetafile',
        # A ZIP file may be a valid Java archive containing an applet which exploits the
        # same-origin policy to steal cookies
        'application/zip',
);

将“'application/zip',”删除即可。

至于上传 zip 档未来的后果会是如何...这我就不能预料了。

解决 Windows 10 自动开机的问题

查看系统的电源设定

1. 查询最近一次电脑被唤醒的原因

C:\>powercfg /lastwake

唤醒记录计数 - 1
 唤醒记录 [0]
 唤醒来源计数 - 1
 唤醒来源 [0]
  类型: 唤醒计时器
  拥有者: [SERVICE] \Device\HarddiskVolume2\Windows\System32\svchost.exe (SystemEventsBroker)
  拥有者提供的原因: Windows 将执行 'NT TASK\2BrightSparks\SyncBackFree\ASUS-User\DailyBackup' 排定要求唤醒电脑的工作。

2. 查询系统中已设定用来唤醒电脑的程序

C:\>powercfg /waketimers

没有的话会显示:

系统没有使用中的唤醒计时器。

有的话会显示:

[SERVICE] \Device\HarddiskVolume2\Windows\System32\svchost.exe (SystemEventsBroker) 设定的计时器在 下午 10:59:29 的 2017/2/11 到期。
 原因: Windows 将执行 'NT TASK\2BrightSparks\SyncBackFree\ASUS-User\DailyBackup' 排定要求唤醒电脑的工作。

你得依查询的状况去找出程式来关闭唤醒电脑功能。

例如,根据上面于我的电脑执行 powercfg 所得到的结果,我必须去执行 SyncBack 程式,将 Profile: DailyBackup 于排程设定中的“Wake the computer to run this task”选项给关闭。

自动维护

Windows 的“自动维护”功能也会唤醒电脑。

关闭唤醒的步骤:

  1. 进到 控制台 \ 系统及安全性 \ 安全性与维护 \ 自动维护。
  2. 将“允许排定的维护在排定的时间唤醒我的电脑”给取消勾选:

 

解决 Chrome 遗失 chrome_elf.dll 的问题

最近我的 Google Chrome 浏览器常出问题,不知道从哪一版开始,当要从外部的程式开启网页时,就会出现遗失“chrome_elf.dll”的问题:

除了出现这个错误之外,经常还会有网页打不开,或是网页停止回应的状况!!

一开始以为是装了哪个扩充套件造成,但问题一直解决不了!!

Read more

如何防止自己的网站被别人以 iframe 盖台嵌入 (与反制办法)

“iframe (内置框架)”是用来在网页中的特定位置嵌入另一个网页。目前 Facebook、Google+、Twitter...等用来在网页上显示社群内容的社群元件,几乎都是以 iframe 实作出来的。

原本框架是一种很好的应用,但如果是自己辛苦制作的网页被别人的网站以 iframe 嵌入,因而出现在别人的网站里,成为别人网站的一部份!!这种感觉就像是自己的心血被别人整碗捧走一样!!

两个解决方法

方法 1

于网页的原始码加入以下 Script:

<script type="text/javascript">
if( top.location != document.location ){
	top.location.href = document.location.href;
}
</script>

以上的 Script 会检查浏览器最上层视窗的网址是否与目前网页的网址一致,如果不一致,则把最上层视窗的网址改为目前网页的网址,就酱。

方法 2 (反制办法)

于网页的原始码加入以下 Script:

<script type="text/javascript">
if( top.location != document.location ){
	document.write("<h1 style='color:#FF0000'>未经授权嵌入别人的网页是可耻的行为!!</h1>(<a href='"+document.location+"' target='_blank'>原站网址</a>)");
}
</script>

以上的 Script 会检查浏览器最上层视窗的网址是否与目前网页的网址一致,如果不一致,就显示:

未经授权嵌入别人的网页是可耻的行为!!
(原站网址)

我比较不喜欢与人家互呛,所以我通常是用“方法 1”啦!

MySQL 数据库的备份与还原

数据库汇出/备份

1. 备份单一数据库:

$ mysqldump -u Username -p --opt DatabaseName > Backup.sql

2. 仅备份特定数据库下的资料表:

$ mysqldump -u Username -p --opt DatabaseName Table1 Table2... > Backup.sql

3. 仅汇出资料表结构:

$ mysqldump -u Username -p --opt --no-data DatabaseName > Backup.sql

4. 备份全部的数据库:

$ mysqldump -u Username -p -A --opt > AllBackup.sql

mysql/mysqldump/mysqladmin 与“登入”有关的参数说明:

  • -u Username: 用来存取 mysql 资料表的用户名称。此参数可省略,若省略,则表示为目前登入 linux 的用户名称。
  • -p: 于执行时再询问密码。
  • -pPassword: 用来存取 mysql 资料表的密码,-p 与 Password 的中间不可有空格。

数据库汇入/还原

1. 建立数据库,再从备份档汇入单一数据库:

$ mysqladmin -u Username -p create DatabaseName
$ mysql -u Username -p DatabaseName < Backup.sql

2. 从备份档汇入全部的数据库 (不需先建立数据库):

$ mysql -u Username -p < AllBackup.sql

状况处理:

状况 1.

汇入数据库时出现错误讯息: Unknown collation: 'utf8mb4_unicode_ci' Unknown collation: 'utf8mb4_unicode_520_ci'

说明:

MySQL 于 v5.5.3 版之后才有“utf8mb4”的编码格式。原本 utf8 的最大编码长度为 3bytes,而 utf8mb4 的最大编码长度为 4bytes,因此它比 utf8 可以储存更多的字符。但是以常用的文字来讲,utf8 已经完全足够使用了。若不升级 MySQL Server,则只须将汇入的字符编码格式改为原本的 utf8。

解决方法:

先将备份档中的 utf8mb4 字串替换成 utf8: (以下的三行指令需依照顺序执行)

$ sed -i 's/utf8mb4_unicode_ci/utf8_general_ci/g' Backup.sql
$ sed -i 's/utf8mb4_unicode_520_ci/utf8_general_ci/g' Backup.sql
$ sed -i 's/utf8mb4/utf8/g' Backup.sql

全部替换完再进行汇入:

$ mysql -u Username -p DatabaseName < Backup.sql

状况 2.

以 mysqldump 汇出数据库时出现错误讯息: Got error: 1044: Access denied for user 'backup'@'localhost' to database 'test' when using LOCK TABLES

说明:

这错误讯息已说明了用来执行 mysqldump 的帐号没有“LOCK TABLES”权限! 通常用 root 帐号汇出数据库不会发生这个问题,因为我们会给 root 所有的权限。然而我们在设定其它帐号时可能会忘了给它设定“LOCK TABLES”权限,而执行 mysqldump 至少需要“SELECT”与“LOCK TABLES”权限才行,最好再加上“SHOW VIEW”、“EVENT”与“TRIGGER”。

解决方法:

重新授予用户权限:

grant SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER on *.* to 'backup'@'localhost' identified by '{Password}';
flush privileges;

状况 3.

从 cpanel 下载的 MySQL 档案格式为 *.gz,可以用 gunzip 解压缩:

$ gunzip Backup.sql.gz

注意: 使用 gunzip 解压缩后,原本的 *.gz 会被删除!!若要保留旧档,须改用下列指令:

 $ gunzip -c Backup.sql.gz > Backup.sql

数据库离线备份/还原

MySQL 的数据库放在 /var/lib/mysql 下,以数据库的名称做为目录的名称。直接将 /var/lib/mysql 下的数据库目录用 tar 指令个别压缩起来即可做为备份。要还原再把档案解压缩回去。

要以这种方式执行备份与还原都必须先停止 MySQL 的服务:

$ service mysqld stop

参考网页

处理 DNS 的 CNAME 造成收件者错误的问题

第一次遇到客户因为自己 Server 的 DNS 问题,造成我方要寄信给客户时,收件者的 EMail Address 会于 SMTP Server 端被自动变更 (寄给 user@example.com 会变成寄给 user@other.example.com),以致于客户收不到 EMail 的问题!! (客户可能以为是我方的问题)

我自己测试的结果是与 DNS 的 CNAME 有关:

C:\>nslookup -type=cname example.com
  Server:  dns.hinet.net
  Address: 168.95.1.1
  example.com canonical name = other.example.com

同时我在网络上找到一篇微软的 KB 文件,已经写得很清楚了,我就直接把内容放上来。

Read more

return top