2011年8月25日 星期四

PHP 程式碼混淆器 (Obfuscator and Encoder)

PHP Obfuscator and Encoder (PHP 程式碼混淆器)
PHP 程式碼保護,虛擬主機商支援的,編碼都要錢,免費的都需自行安裝...
只好退而求其次,使用混淆器,使程式難懂...XD
試過...
  • POBS 0.9.9, 2003年,PHP 寫成的,在 PHP5.3 需要改不少地方。官網推薦比較新的 http://www.raizlabs.com/software/phpobfuscator/,可惜也停了,沒啥可下的。
  • YAPHPO 1.0.1, 2007年,也是PHP 寫成的,需要在命令列執行,選項較少。
POBS 在PHP5.3有許多問題:
  • 許多地方需改成 isset() 的判斷方式
  • 有個 md5() 參數沒給值
  • 對於字串內的註解會誤判
  • 未處理的檔案複製沒有先比對日期,導致編譯費時
  • 目標資料夾因為PHP權限問題,需位於來源資料夾內,那將導致無窮盡迴圈
  • 變數位於不同檔案時,更新某檔會缺乏連動機制,導致名稱不一致
  • 變數位於 conf 檔時,需要一一排除這些變數...數量大時很麻煩

後來也試了 PHP Obfuscator (POBS 官網推薦的),沒想到這 C# 做的更慘:
  • 一開始就整個資料夾刪除再複製,無法設定那些子資料夾不必複製。
  • 目的資料夾有唯讀檔案時會跳出。
  • 複製檔案都沒比對日期,缺乏效率。
  • 原本期待.NET的 Regx 有特異功能 "群組堆疊" ,似乎也沒發現,程式用迴圈在讀巢狀符。
  • 我有個比較老的 PHP檔,竟然讓它死當了,懶得查原因,可能有變數放在 conf 沒被讀進吧?
  • 這是很可能是個還沒 Release 就掛了的 Project 。2007年就停了,只好放棄...

2011年8月2日 星期二

phpMyAdmin 3.3.9 在 UTF-8 的 MySQL 下,建立資料庫卻不是 utf-8 的

phpMyAdmin 3.3.9 在 UTF-8 的 MySQL 下,建立資料庫卻不是 utf-8 的,而是一個瑞典的編碼?
結果一路建下去,每個表格與欄位都要改為 utf-8 unicode-ci,真糟糕!!

也許一開始建立資料庫就要注意 "校正" 的編碼是否正確,不然用 UI 反而沒效率...
嗯~本來 UI 就比較沒效率!!