這陣子抓 bug 的時候發現連自己都要想半天,還是整理起來好了… 假設 $v 是未經過濾的變數,要放到不同地方要做不同的處理:
- MySQL Statement:這已經是標準了,
mysql_escape_string($v) 或是 mysql_real_escape_string($v),或是改用 prepare + execute 的模式。
- 放在 HTML Form 的 input 元素裡面:要用
htmlentities($v, ENT_QUOTES) 過濾後用 double-quote 包起來,原因是 $v 可以是 "><script> ... (一堆邪惡 js 程式碼) ... </script>",這是一種 XSS 攻擊。
- 放在網址的 GET 參數裡:用
urlencode($v)。
- 呼叫外部程式帶入參數時 (像是
system() 呼叫):用 escapeshellarg($v)。
從 Matt Mullenweg 的 Blog 上看到的 WordPress Plugin,以往必須寫在 .htaccess 寫 mod_rewrite 的工作,現在可以用 Redirection 這套 Plugin 設定。
在網頁上有個五分鐘的影片可以看,看完以後就大致知道要怎麼操作,除了一般的一對一對應外,還可以設定 Regular Expression (像是把 /blog/plugins/(.*) 重導到 /plugins/$1),甚至還可以做 proxy (影片中的 microsoft.com)。另外還有一些奇怪的功能 (像是可以設定 /fun 指到隨機的頁面 XD),其實看起來還蠻有趣的…
可是實際會需要這個用途的人到底有多少呢… @_@
這陣子在 Xapian 的 mailing list 上剛好提到 PHP binding 的問題,結果引伸出來的 license 問題。查了資料以後,在 Wikipedia 上有張表格:List of FSF approved software licenses。
簡單來說,PHP license 與 OpenSSL license 不相容的原因都一樣:因為廣告條款的關係。
Xapian 想要用其他方式解套 (像是有人提出用 SWIG 過水) 都會因為 GPL 有感染性而不太容易處裡:SWIG 軟體本身是 MIT-style 與 BSD-style license,但是他產生出來的 wrapper code 因為使用了 GPL library,所以包成 binary 時還是會受到 GPL 影響。
反正這類問題滿天飛…

買回來以後其實很快就看完了 (這本在我書單裡的優先權很高的),一直沒有 post 出來而已 :p 照肥睡睡的說法是:
01:16 <@S> 鹹狼第二本….. 這….. 商業詐欺 期貨破產 黑吃黑 威脅利誘 都來了… !@#$%
我覺得這個描述實在太棒了 XDDD 總而言之,這本輕小說仍然保持著極高的水準,依然是強烈推薦大家買來看。
動畫化的消息是在日文版第五本的書腰上公佈的,不過這種小說水準超高 + 內心戲超多的情況下,請不要太期待 XDDD
jQuery 1.1 的最後一個版本:jQuery 1.1.4: Faster, More Tests, Ready for 1.2。
這個版本速度比 1.1.3.1 更快,看起來是對幾個最簡單、最常用的 Selector 特殊處理,像是 $("#id") 的改善就很明顯,在所有的瀏覽器裡都快了許多。另外多了一些新的功能,像是 .slice()… (這功能好!)
大小的部份,可以看到 jQuery 慢慢變大了。1.1.2 是 21235 bytes,1.1.3 是 21472 bytes,1.1.3.1 是 21557 bytes,1.1.4 是 22679 bytes,這次長了 1KB。
1.1.3.1 到 1.1.4 中間的新功能與 bug fix 在 jQuery 1.1.4 Closed Bugs 可以看到,看起來不少 bug 被修正… (這代表會有更多 bug?XD)
CSS attacks! 這篇講到的兩個誘導使用者進行不安全操作的方法:
- CSS overlays:利用 iframe + CSS,只顯示部份的內容,讓使用者去誤擊某些不安全的操作。
- Submit buttons:把 submit button 的 border 拿掉,字體改一改,讓他看起來很像普通的 link。
前面那個可以用 js + Referer 解決大部分的問題 (對於有防火牆把 Referer 擋掉,而且沒有 js ability 的用戶,暫時想不到解法…),後面可以用 Double Cookie 解決。
來找看看 Firefox 有沒有 Plugins 可以加強這些安全上的問題…
在依林姊姊的 del.icio.us 上看到這個用 JavaScript 做出來的介面,拿來畫 SQL 關係圖還不錯:WWW SQL Designer。
要注意的是他產生出來的 SQL 指令並沒有把 FK 放進去 (至少 MySQL 與 PostgreSQL 都是),所以畫完後要自己轉成 SQL CREATE TABLE 的指令。雖然如此,但對於拿來釐清一些複雜的架構還不錯…
