以前寫的Windows 2003 安全相關的文章:
今天來說說windows 2003伺服器上的PHP的安全問題。一般來說,Windows的伺服器上不會隻運作asp或者aspx程式,PHP的程式很多,是以一般都有在伺服器上裝PHP,既然有裝,就要對PHP進行安全設定。
1、把safe_mode=off 改成 safe_mode=on,使php運作于安全模式。運作于安全模式的PHP能禁止一些系統指令的執行,如果你要執行這些系統指令,可以在 "safe_mode_exec_dir =" 設定,如果你要D盤的wwwroot可以執行系統指令函數,那麼就把這個設定為"safe_mode_exec_dir = D:/wwwroot" 。
2、找到disable_functions這行,改成"disable_functions = phpinfo,passthru,exec,shell_exec,system,這樣設定就是不允許在PHP中執行這些函數。
3、把register_globals設定成off,就是關閉全局變量的注冊。因為我們通過get或者post送出的變量都會自動注冊成全局變量,使用者可以通路,這就對伺服器造成了不安全。
4、把magic_quotes_gpc設定成on,防止SQL注入。
5、把open_basedir前面的分号去掉,設定成你的網站的程式的位址。使PHP不能操作該目錄之外的檔案。
6、如果不想讓PHP運作時候的出錯資訊在浏覽器中顯示,可以設定display_errors = Off。
如此設定之後,PHP的安全就不錯了。