2013年4月20日 星期六

利用 Squid 代理伺服器(Proxy)分析 HTTPS 連線內容


筆者近來學了些如何側錄(sniffer) HTTPS 連線內容的技術,在這裡分享給大家。
要側錄 HTTPS 的封包並不困難,把 Wireshark 開催下去就好了(無誤),但要看到 HTTPS 封包的內容,就得想辦法解開加密內容,不然只能看到像下圖的有字天書。

HTTPS連線內容

2013年3月26日 星期二

Javascript 取得 split() 結果的第1個及最後1個元素 (the first element and the last element)

Javascript 的 split() 函式會將結果以陣列(array)型態回傳,因此可以分別以 shift() pop() 取得第一個及最後一個元素。

範例:
var str = "A, B, C, D";

console.log(str.split(",").shift());
// output A

console.log(str.split(",").pop());
// output D

jQuery - detach() 與 remove() 之差異

在 jQuery 官網的 DOM 操作文件中,有提到 detach()remove() 兩種方法,這兩種方法的說明都是:
Remove the set of matched elements from the DOM.
意思就是將元素從 DOM 中移除,不過進一步閱讀詳細的使用說明時, 就會發現兩者其實是不太相同的。

2013年3月22日 星期五

jQuery 小祕訣 - htmlentities

有些時候為了避免網頁被植入一些 HTML 標籤(如 <iframe>, <script>, <applet> 等),就必須將一些特殊字元轉為 HTML entities (或稱 HTML 實體),例如 < 可被轉為 &lt; 或是 &#60,其中前者(&lt;)被稱為 entity name, 後者(&#60)為 entity number,這兩種都是可被接受的轉換方式。

更進一步的例子為如下的 HTML 標籤:
<script>&</script>
被轉換成 HTML entities 之後就會變成如下的字串:
&lt;script&gt;&amp;&lt;/script&gt;

雖然在瀏覽器上看起來一樣是 <script>&</script> ,不過已經不是 HTML 標籤了。
p.s. 這對於網頁程式師而言算是相當實務的安全性作法之一

2013年3月18日 星期一

KVM (Kernel based Virtual Machine) 常用指令解說

KVM(Kernel based Virtual Machine) 是一套基於 Linux Kernel 的虛擬化技術,與 QEMU, XEN, Oracle VirtualBox 一樣都已經是相當成熟的 Open Source 的虛擬化解決方案。值得一提的是,KVM, QEMU, XEN 三種不同的虛擬化解決方案能夠在 Linux 內兼容並蓄,並且透過 libvirt 達成統一的管理窗口,因此本篇會以 virsh 指令運用為主解說常用的 KVM 指令。