简介:主要介绍通过php.ini配置文件优化php的性能和一些不安全的因素,以防被黑客利用
在之前的文章中我们介绍了开启【opcache】优化PHP,今天我们再介绍几个PHP相关配置优化。
1、打开php的安全模式
主要控制php执行危险函数,默认是关闭:Off
sql.safe_mode=On
2、禁止显示PHP版本号
出于网站安全考虑,防止别人针对特定php版本漏洞攻击网站。有的网站你用站长工具一查,使用的是什么web服务器、PHP版本是多少都一目了然,对于特定的PHP版本漏洞,黑客当然是知道的,隐藏版本号虽不能说解决了问题,但是会给黑客增加难度。
expose_php = Off
3、关闭重定向执行php文件
出于安全考虑防止别人上传木马执行如:你的网站url/as=你的网站url/sdf/muma.php,这样的重定向PHP文件是可执行的,将这个配置改为0之后这类型的重定向PHP文件就不会执行了。
这也是为什么有的网站总是被挂马的原因,这样修改之后即便是网站前台存在安全漏洞,被黑客上传了木马文件,通过这样的方式木马文件不会运行,所以没有用。
cgi.force_redirect = 0
4、禁止解析非法php文件
如/a.jpg/1.php
这样的图片下的一个php文件属于非法的,设置为0就是禁止执行。这种将木马伪装成图片上传的文件存在已久,禁止这类文件运行,即使被上传了木马,由于设置了不允许运行,所以没有用。
cgi.fix_pathinfo = 0
5、关闭错误信息输出
为了网络安全,关闭错误信息输出,防止他人恶意攻击。
display_error = Off
error_reporting = E_WARNING & E_ERROR
在现实工作我们都会在入口文件中通过【ini_set('display_errors', 'on');】开启错误信息进行调试
6、记录错误日志至后台, 方便追溯
如果你的项目框架本身就已经做好日志记录的功能,那么你可以关闭PHP日志记录。
log_errors = On
error_log = /var/log/php_error.log
7、禁止远程执行phpshell
include/require等包含函数可以加载远程文件,如果远程文件没经过严格的过滤,导致了执行恶意文件的代码,这就是远程文件包含漏洞。
allow_url_include = Off
当然我们日常工作中经常会使用file_get_content函数获取资源,但是有些黑客会利用这点执行远程文件,从而获取服务器信息,我们可以在配置文件中禁止从远程服务器或者网站检索数据
allow_url_fopen = Off
8、格式化时间
注意大小写,默认使用北京时间(东8区),这样可以使服务器时间和程序的时间一致,否则可能你发文章显示的时时间会和实际时间不一样,如果不设置时间可能会相差8小时,也可以设置为date.timezone = PRC
,设置时区为中国时区,PRC是中国时区的简称。
date.timezone=Asia/Shanghai
9、启用标记解析
一些网站的模板文件中使用了如<? ?>这样的php代码,可保证代码可以正常执行,在ecshop、dedecms和WordPress等模板中也都常见于这类代码。
short_open_tag = On
常用的就这些了,后期想起其他的配置信息再给大家补上。
有遗漏或者不对的可以在我的公众号留言哦