Using firebug for firefox 除錯 javascript
[PHP Framework] How to implement Plurk API in CodeIgniter
很開心在12月看到 Plurk Release API 出來,而自己也跟網路上一些朋友合作開發 PHP implementation of Plurk API,Plurk (簡稱噗浪)在台灣這一兩年紅了起來,網路高手分別針對噗浪研究產生非官方的 API,現在官網 Release 出來,提供了 Java 跟 Python 的 Example,我想因為 Plurk 是用 Python 寫出來的,所以提供了範例,但是 API 出來沒多久,roga 就集合了網路一些強者,一起開發了 PHP Plurk API,我也拿了此 API 在實作到 CodeIgniter Framework,讓在使用此套 open source 的使用者可以享用 Plurk API。不過從2009.12.29日之後,Plurk 官網有限制每天只能 call 50.000 次,已經蠻多了,不要操掛 Plurk 的機器阿。
[Git] how to remove file and commit from history(如何移除 commit 歷史紀錄)
[PHP] Release 噗浪 php-plurk-api 1.2 Beta.
Plurk 官網在2009年12月4日提供了 API platform,這是大家所期待很久的,裡面只有提供 Python 跟 Java 的 example 範例,所以強者我朋友 roga 發起了 php-plurk-api 架構,來造福 PHP 使用者,當初在 roga 在 plurk 上面徵求是否有人想要一起開發程式,我就當場報名了,後來也陸續多了很多強者好友:Whatup、ChrisLiu、Limit…等加入進行模組撰寫,很快的就產出了 php-plurk-api 1.2 Beta,也利用官方網站 API 來撰寫註解,然後搭配 phpDocumentor 產出文件,這一切都集結了很多人的努力,也讓官方網站放上了大家共同結晶。 如果大家想使用,可以從 php-plurk-api source code. 下載。^^ 其他延伸: Release: php-plurk-api 1.2 Beta. php-plurk-api website.
[UNIX] Vim 命令圖解說明
Vim 是一套在 Windows 或者是 UNIX 系統上面非常強大的編輯器,在 vgod’s blog 看到一篇:『給程式設計師的Vim入門圖解說明』,原作者提供了 pdf 以及 png 檔案讓大家下載阿,相當方便,看到這篇就馬上印出來貼在自己的桌子前面,圖解內容也相當清楚,很適合剛學習 UNIX 系統所需要的一些基本 Vim 指令,如何分割視窗,刪除行…等,另外在 Tsung’s Blog 看到 好文: Vim 食譜(CookBook、Recipes),提供了兩個好用連結:
- Vim Recipes - Vim 由淺入深, 每篇都很短, 非常推薦此書~ (可線上看, 也可免費下載)
- Vim Cookbook - Vim 食譜, 這篇專門紀錄常用、好用的密技. 都可以參考看看喔,對於學習
Vim 會有相當大的幫助,底下兩張是從 vgod’s blog 轉錄過來的。
[FreeBSD] freebsd kernel: fxp0: link state changed to DOWN / UP
PHP+MySQL 環境下 SQL Injection 攻防戰
在 OurMySQL Blog 看到這篇:『PHP+MySQL环境下SQL Injection攻防总结』寫的相當不錯,裡面有一些觀念,可以讓初學 PHP & MySQL 的使用者知道如何防護 SQL Injection (資料隱碼),內容提到 magic_quotes_gpc 在 on 跟 off 的狀況如何防護,但是可以清楚看到 PHP 官方文件提到在 PHP 5.3.0 magic_quotes_gpc 預設已經是關閉,在 PHP 6.0 之後正式移除,所以內容寫的 magic_quotes_gpc 狀況,可以大致上瞭解就好,真正防護 SQL Injection 是需要寫程式或者是考慮很多方式去防護。 一般在做文章查詢,都會使用 /articles.php?id=123 網址傳送方式,以 $_GET[‘id’] 送到 PHP 頁面去做處理,如果駭客想要測試是否可以利用 SQL Injection 做攻擊,可以在網址列加上 /articles.php?id=123’,請注意網址後面多出 ’,如果沒有把 $_GET[‘id’] 做處理的話,就會出現底下錯誤訊息:
supplied argument is not a valid MySQL result resource in 這是因為平常在寫 SQL 語法,會是底下這種寫法:
$sql = "SELECT id, title, content FROM articles WHERE id = '".$_GET['id']."'"; $result = mysq_query($sql);因為沒有處理跳脫字元 ',所以造成 SQL 語法錯誤,才會出現該錯誤訊息,但是如果又針對跳脫字元做防護得時候,還有另一種攻擊方式:
/articles.php?id=0 union select 1,2,load_file(char(47,101,116,99,47,112,97,115,115,119,100)) 其中的數字就是/etc/passwd 字符串的ASCII,除此之外,還可以使用字串 16 進位方式:
[Read More]/articles.php?id=0 union select 1,2,load_file(0×2f6574632f706173737764) 可以參考一下 MySQL LOAD_FILE(file_name),底下文章提到了很多方式解決。
國外 VPS 虛擬主機效能比較
在 Dk 大神那邊看到國外一篇 VPS 效能比較:『VPS Performance Comparison』,DK 對於這篇也寫了一些心得,Eivind Uggedal 針對國外比較有名的虛擬主機(包含 Amazon EC2、Linode、Prgmr、Rackspace、Slicehost )進行了效能測試,原作者寫了一些測試效能的 Python 程式,也公開程式碼在 GitHub repository,底下就來看看幾張作者測試效能產生的圖表。 針對虛擬主機的 Memory、Monthly cost、Storage、Transfer,價格方面大家都差不多,Linode 贏在每個月給的流量,Amazon 雖然記憶體給的很高,但是相對的價格很貴,在流量($0.17/$0.10 out/inn per GB of bandwidth)也是另外計費的,所以比較起來 Linode 大勝。
比較 CPU 方面,Linode 提供了 32/64 位元的 CPU 架構讓您使用,Linode、Slicehost、Rackspace 提供四個虛擬 CPU,相對於 Amazon 只提供 32位元架構以及單顆 CPU,比較下來,還是 Linode 大勝。
這兩張效能圖,很顯然的都是 Linode 大勝,所以本篇報導結論:買 Linode 就是對的,便宜又可以得到好的虛擬主機(VPS)效能。 延伸閱讀:VPS Comparison between Slicehost and Prgmr