章 22. 簡介

PHP 作為一種強大的語系,無論是以模組還是 CGI 的模式安裝,它的直譯器都可以在伺服器上訪問檔案、運行指令以及建立網路連線等。這些功能也許會給伺服器增加很多不安全因素,但是只要正確地安裝和配置 PHP,以及編寫安全的代碼,那麼 PHP 相對於 Perl 和 C 來說,是能建立出更安全的 CGI 程式的。而且,也可以在可用性和安全性之間找到一個很好的平衡點。

PHP 可能會被用在很多不同的方面,因此,PHP 內建的選項以方便會員對其進行配置。雖然眾多的選項可以使 PHP 完成很多工作,但是對這些選項的設定以及對伺服器的配置很可能會產生安全問題。

PHP 的選項與其語法一樣,具有很高的彈性。使用 PHP,可以在只有 shell 會員權限的環境下建立完善的伺服器端程式,或是在被嚴格限制環境下使用它來完成伺服器端包括(Server-Side Includes)而無需承但太大的風險。如何建立這樣一種環境,其安全性如何,很大程度上取決於 PHP 的開發者。

本章以一些一般的安全建議作開頭,講述如何在不同的環境下盡可能地提高安全性,以及介紹對於不同安全層級的一些寫程式原則。