PHP幾點要注意的安全性問題

系統的安全性很重要,為了避免系統被入侵或破壞導致損失,所以我們要盡量把系統安全做到最好。以下有幾點需要留意的安全問題。

1.永遠不要相信外來的資料。
對於從外間接收回來的資料,即$_GET,$_POST,甚至$_SERVER,我們也不要相信,盡量加入驗證或過濾。在過濾方面,我們可以使用escapeshellarg(),escapeshellcmd()或filter_input()進行過濾。

2.關閉系統指令相關的function。
如果很少使用到這些function,建議將這些function關閉,避免被入侵後變成黑客的工具。可以對系統下指令的function包括system(),exec()和passthru()。關閉的方法很間單,只要將php.ini文件內的disable_functions = 改成 disable_functions = exec,system,passthru 即可。

3.檔案上傳
對於外來的檔案,我們也絕不可以信任,除了做最基本的檢查,包括檔案名稱,檔案大小,檔案類型外,還可以將檔案上傳到的機器和其他重要的機器分開。

4.確保系統的錯誤/警告訊息已經關閉
如果不幸受到攻擊導致系統出現不同的錯誤或警告訊息,那就代表向黑客顯示更多系統的相關資訊,令黑客可以從更多的方向進行攻擊,所以我們必須關閉相關的系統訊息。請進入php.ini,確保register_globals、display_errors的狀態都為off。

沒有留言: