php安全设置
关闭危险函数,在php.ini里设置
(1) 关闭注册全局变量
在PHP中提交的变量,包括使用POST或者GET提交的变量,都将自动注册为全局变量,能够直接访问,这是对服务器非常不安全的,所以我们不能让它注册为全局变量,就把注册全 局变量选项关闭:register_globals = Off
当然,如果这样设置了,那么获取对应变量的时候就要采用合理方式,比如获取GET提交的变量var,那么就要用$_GET['var']来进行获取,这个php程序员要注意。
(2) 打开magic_quotes_gpc来防止SQL注入,SQL注入是非常危险的问题,小则网站后台被入侵,重则整个服务器沦陷,所以一定要小心。php.ini中有一个设置:magic_quotes_gpc = Off这个默认是关闭的,如果它打开后将自动把用户提交对sql的查询进行转换,比如把 ' 转为 \'等,这对防止sql注射有重大作用。所以推荐设置为:magic_quotes_gpc = On
(3) 错误信息控制
一般php在没有连接到数据库或者其他情况下会有提示错误,一般错误信息中会包含php脚本当前的路径信息或者查询的SQL语句等信息,这类信息提供给黑客后,是不安全的,所以 一般服务器建议禁止错误提示:display_errors = Off 如果你却是是要显示错误信息,一定要设置显示错误的级别,比如只显示警告以上的信息:error_reporting = E_WARNING & E_ERROR 当然,最好还是关闭错误提示。
(4) 错误日志
建议在关闭display_errors后能够把错误信息记录下来,便于查找服务器运行的原因:
log_errors = On
同时也要设置错误日志存放的目录如:
error_log = D:/logs/php_error.log
设置完之后重启IIS生效