PHP启动时将读取配置文件(php.ini)。对于PHP的服务器模块版本,仅在启动Web服务器时才发生一次。对于CGI和CLI版本,它会在每次调用时发生。
如何配置php.ini以提高Web服务器的安全性
1、禁用不需要的PHP函数
此选项可以设置禁止使用哪些PHP函数。 PHP中的某些功能仍然存在很大风险。如果允许执行这些功能,那么当PHP程序容易受到攻击时,损失会非常严重!下面我们给出建议的禁用功能设置:
disable_functions = phpinfo,passthru,exec,system,popen,chroot,escapeshellcmd,escapeshellarg,shell_exec,proc_open,proc_get_status
注意:如果您的服务器包含一些用于CentOS系统状态检测的PHP程序,请不要禁用shell_exec,proc_open,proc_get_status和其他功能。
2、PHP脚本的执行时间
max_execution_time = 30
此选项设置PHP程序的最大执行时间。如果请求了PHP脚本,而PHP脚本未能在max_execution_time时间内完成,则PHP将不会继续执行,而是直接向客户端返回超时错误。此选项不需要特别保留默认设置30秒。如果您的PHP脚本确实需要很长的执行时间,则可以适当地增加此时间设置。
3、PHP脚本的内存使用情况
memory_limit = 8M
此选项指定PHP脚本处理可以占用的最大内存。默认值为8MB。如果服务器内存大于1GB,则可以将此选项设置为12MB,以提高PHP脚本处理效率。
4、PHP全局函数声明
register_globals = Off
Internet上许多有关PHP设置的文章都建议将此选项设置为On。实际上,这是一种非常危险的设置方法,可能会导致严重的安全问题。如果没有特殊需要,强烈建议保留默认设置!
5、PHP上传文件大小限制
upload_max_filesize = 2M
此选项设置PHP允许的最大上传文件大小。默认值为2MB。可以根据实际应用要求适当增加此设置。