PHP配置优化提升PHP的性能和安全

简介:主要介绍通过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

常用的就这些了,后期想起其他的配置信息再给大家补上。

有遗漏或者不对的可以在我的公众号留言哦

编程经验共享公众号二维码

编程经验共享公众号二维码
更多内容关注公众号
Copyright © 2021 编程经验共享 赣ICP备2021010401号-1