Suhosin有兩種方式可以增加 PHP 的安全性,一種是使用 Patch 的方式,另一種是使用 Extension 的方式,兩種方式也可以同時使用。
在 Windows 下也可以作這項 Patch,請看以下的步驟來進行:
- 下載 Patch ,請注意你所使用的 PHP 版本:下載,這裡假設 Patch 檔的檔名為 suhosin-patch-5.2.0-0.9.6.2.patch。
- 工具:patch,可以從 GnuWin32 上取得,或是下載最新的輔助編譯包,裡面也有這些工具。
- 將 Suhosin 的 Patch 解開放到 D:\Work 中。
- 請切換目錄至 php-x-x-x 中,執行:patch -binary -p 1 -i ../suhosin-patch-5.2.4-0.9.6.2.patch
- 註:在 Windows 下作 Patch 一定要使用 -binary 參數,這是由於 Windows 與 *nix 中的換行符號不同所必須注意的地方
- Patch 完後請重新編譯 PHP,執行:php_make.bat rebuild
- 編譯完成後安裝請執行:php_make.bat install
如果你想用 Extension 的方式,請看以下的步驟來進行:
- 下載源碼,請注意你所使用的 PHP 版本:下載,這裡假設檔名為 suhosin-0.9.16.tgz。
- 將源碼解開,複製其中的 suhosin-0.9.16 到 D:\Work\suhosin 中。(記得目錄名稱中不可有減號 - ,否則 nmake 會無法編譯)
- 修改 php_conf.bat 加上 --enable-suhosin=[shared] 參數。
- 重新編譯 PHP,執行:php_make.bat
- 編譯完成後安裝請執行:php_make.bat install
- 若使用動態連結,修改 php.ini 加上 extension=php_suhosin.dll
- 靜態連結:yes
- 動態連結:yes