Flush local DNS cache on a browser and local system

Browser(application) level:

For Google Chrome/Chromium, open the link below:
chrome://net-internals/#dns
and click “Clear host cache

For Firefox, open the link below:
about:config
then click “I’ll be careful, I promise!“,
and find network.dnsCacheExpiration, set its value to 0 (create one if it didn’t exist).
Now the cache should be flushed, and set network.dnsCacheExpiration back to 3600, or you the cache will not work at all.

Operating system level:

  • Windows:
    • ipconfig /flushdns
  • Linux:
    Depends on the dns service you are using: 
    • sudo systemd-resolve --flush-caches
    • sudo /etc/init.d/dns-clean restart
    • sudo /etc/init.d/nscd restart
    • sudo /etc/init.d/dnsmasq restart
    • sudo /etc/init.d/named restart
  • macOS (> v10.5):
    • dscacheutil -flushcache

Firefox 的 Web Developer’s Toolbox

MozillaFirefox附加元件裡面的一個集合,

Web Developer’s Toolbox :: 收藏集 :: Firefox 附加元件 (https://addons.mozilla.org/zh-TW/firefox/collections/mozilla/webdeveloper/)

整理了一些網站開發人員常用到的瀏覽器套件,如Firebug、Greasemonkey、User Agent Switche、YSlow等

有些工具目前還沒用過,看來可以參考看看,有在開發網站或寫網頁的人也可以參考

Ubuntu Linux 上的 EZ100PU 晶片讀卡機驅動程式 + WebATM 安裝筆記

身為一個不算短期的 Linux 使用者 (我的個人含工作用電腦 “幾乎” 都是 Linux 系統的),能在 Linux 上使用 WebATM (網路ATM) 這樣方便的功能是不可少的,早期 WebATM 都是 ActiveX 外掛,也就是只能支援微軟的 IE (Internet Explorer) 瀏覽器 ,近年來台灣已經有數家銀行開始支援非 IE 的瀏覽器擴充套件來使用 WebATM 了,目前已知有以下幾家銀行支援 IE 以外的瀏覽器並且支援 Linux 作業系統,其中玉山銀行要特別講一下,雖然我個人沒有任何玉山銀行的帳戶,沒有特別要幫他打廣告,但玉山銀行是台灣 WebATM 走出瀏覽器 IE only 的先鋒,值得大家鼓勵啊 ~

本篇紀錄我在 Linux Mint 17 (based on Ubuntu 14.04 LTS) 上安裝晶片讀卡機驅動程式以及 WebATM 工具的流程,以便下次安裝可以更快回憶起來該如何操作。其實晶片讀卡機除了用於網路 ATM 以外,讀取電話的 SIM 卡、健保卡、自然人憑證、或一些電子錢包(像iCash)、會員卡(查詢裡面的點數)等都很方便,以前我個人還滿常拿來備份電話 SIM 卡上的聯絡人資料,在當時是挺實用而且滿有趣的(現在應該都靠雲端同步了)

這邊拿玉山銀行作為範例,實際上各家銀行操作流程應大同小異,主要就是系統服務所需相關套件、安裝晶片讀卡機驅動程式以及銀行的程式。

首先需要安裝 pcscd & pcsc-tools 套件:

$ sudo apt-get install pcscd pcsc-tools

此操作應該會連帶安裝兩個相依套件:libccid、libpcsc-perl (也有可能更多、端看系統上已經安裝過的套件而定)

安裝好需要套的套件後接著安裝驅動程式,這邊就自行按照廠牌以及型號到讀卡機網站下載驅動按照說明即可,例如我這邊是使用很常見的 EZ100PU (網路上買很便宜,好像很多銀行也會拿來當贈品),可以在這邊下載到驅動程式:

閱讀全文

在 IE 瀏覽器傳遞 GET 參數中文遇到亂碼

昨天被丟了一個問題:同一隻 PHP 程式在 Chrome/Firefox 丟中文參數沒問題,怎麼在 IE (Microsoft Internet Explorer) 就會亂碼?

code 大概長這樣,主要是把傳入的參數存入 DB 裡面,資料庫用的是 UTF-8 的編碼

$con = mysql_connect('127.0.0.1','id','pw');
mysql_select_db('test', $con);
mysql_query('set names 'utf8'');
$msg = $_GET['msg'];
$sql = 'INSERT INTO `db` . `table` (`column`) VALUES (' . $msg . ')';
mysql_query($sql, $con);
mysql_close($con);

問題其實是出在 IE 傳遞參數時會以 ANSI 來編碼 (即便網頁編碼是UTF-8),自然會出現亂碼的問題,基於現在 UTF-8 是主流,所以可以在使用傳入的參數之前使用 PHP 內建的 mb_detect_encoding 做這樣的處理:

$encode = mb_detect_encoding($msg, array ('UTF-8', 'BIG5', 'GB2312'));
if ($encode && $encode != 'UTF-8') {
    $msg = iconv ($encode, 'UTF-8', $msg);
}

{ "UTF-8", "BIG5", "GB2312" } 這段可以依序換成要被識別的編碼,在編碼可以辨識(有被列入)且不是 UTF-8 的情況下會用 PHP 內建的 iconv 來做轉換的動作, 就可以解決這樣的問題啦~