PHP啟動時將讀取配置文件(php.ini)。對于PHP的服務器模塊版本,僅在啟動Web服務器時才發(fā)生一次。對于CGI和CLI版本,它會在每次調用時發(fā)生。
如何配置php.ini以提高Web服務器的安全性
1、禁用不需要的PHP函數(shù)
此選項可以設置禁止使用哪些PHP函數(shù)。 PHP中的某些功能仍然存在很大風險。如果允許執(zhí)行這些功能,那么當PHP程序容易受到攻擊時,損失會非常嚴重!下面我們給出建議的禁用功能設置:
disable_functions = phpinfo,passthru,exec,system,popen,chroot,escapeshellcmd,escapeshellarg,shell_exec,proc_open,proc_get_status
注意:如果您的服務器包含一些用于CentOS系統(tǒng)狀態(tài)檢測的PHP程序,請不要禁用shell_exec,proc_open,proc_get_status和其他功能。
2、PHP腳本的執(zhí)行時間
max_execution_time = 30
此選項設置PHP程序的最大執(zhí)行時間。如果請求了PHP腳本,而PHP腳本未能在max_execution_time時間內(nèi)完成,則PHP將不會繼續(xù)執(zhí)行,而是直接向客戶端返回超時錯誤。此選項不需要特別保留默認設置30秒。如果您的PHP腳本確實需要很長的執(zhí)行時間,則可以適當?shù)卦黾哟藭r間設置。
3、PHP腳本的內(nèi)存使用情況
memory_limit = 8M
此選項指定PHP腳本處理可以占用的最大內(nèi)存。默認值為8MB。如果服務器內(nèi)存大于1GB,則可以將此選項設置為12MB,以提高PHP腳本處理效率。
4、PHP全局函數(shù)聲明
register_globals = Off
Internet上許多有關PHP設置的文章都建議將此選項設置為On。實際上,這是一種非常危險的設置方法,可能會導致嚴重的安全問題。如果沒有特殊需要,強烈建議保留默認設置!
5、PHP上傳文件大小限制
upload_max_filesize = 2M
此選項設置PHP允許的最大上傳文件大小。默認值為2MB??梢愿鶕?jù)實際應用要求適當增加此設置。