簡介

PHP 作為一種強大的語言和解析器,無論是作為包含在 Web 服務(wù)器中的模塊還是作為單獨的 CGI 二進制文件執(zhí)行,它都可以在服務(wù)器上訪問文件、運行命令以及創(chuàng)建網(wǎng)絡(luò)連接等。 默認情況下,這些功能會使 web 服務(wù)器運行的任何內(nèi)容變得不安全。 PHP 專門設(shè)計為一種比 Perl 或者 C 編寫 CGI 程序更安全的語言,并且正確選擇編譯時和運行時配置選項以及正確的編碼實踐,它可以同時滿足所需的自由和安全。

由于使用 PHP 有很多不同的方式,因此有很多配置選項來控制其行為。大量選項保證可以將 PHP 用于多種用途,但是這也意味著這些選項和服務(wù)器配置的組合會導(dǎo)致設(shè)置不安全。

PHP 配置的靈活性與代碼的靈活性不相上下。Shell 用戶具備的所有服務(wù)器端應(yīng)用功能,PHP 同樣也能構(gòu)建完整。也可以在嚴格控制的環(huán)境中用于簡單的服務(wù)器端包含,具有很小的風險。 環(huán)境如何構(gòu)建、安全性如何,很大程度上取決于 PHP 開發(fā)者。

本章以一些常規(guī)的安全建議作為開始,解釋了不同配置選項組合以及可以安全使用的情況, 并描述了不同安全級別進行編碼時的不同注意事項。