前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP安全配置

PHP安全配置

作者头像
Petrochor
发布2022-06-07 15:40:26
1.4K0
发布2022-06-07 15:40:26
举报
文章被收录于专栏:StephenStephen
一、屏蔽PHP错误信息

在配置文件中,设置display_errors=On,开启了PHP错误显示,在PHP程序遇到错误时,会暴露PHP文件和系统路径,从而容易被威胁,我们需要设置:

代码语言:javascript
复制
;默认开启
;Default Value: On

;研发环境开启
;Development Value: On

;生产环境开启
;Production Value: Off

;生产环境下,设定为Off
display_errors = Off

;指定日志写入路径
error_log=/var/log/php/error_log.log
二、防止版本号暴露

在HTTP请求返回的Response头部数据,HTTP头李返回服务器状态的信息,包含了PHP版本信息,黑客很容易根据版本漏洞,进而进行攻击

在配置文件中找到 expose_php,将值设置为 Off

代码语言:javascript
复制
expose_php=Off
三、防止全局变量覆盖

在全局变量功能开启的情况下,传递过来的数据会被直接注册为全局变量使用,需要关闭全局变量覆盖,在PHP5.6之后的版本,官方已经将该配置去除:

代码语言:javascript
复制
register_blobals=Off
四、PHP的访问限制

1.文件系统限制

配置 open_basedir 来限制PHP访问文件系统的位置:

代码语言:javascript
复制
;限定PHP的访问目录为 /home/web/php/
open_basedir=/home/web/php/

2.远程访问限制

allow_url_fopen 开启时,允许系统从远程检索数据,然而这个方法会给程序造成一个很大的漏洞,如果远程连接是一个恶意链接,那后果不堪设想

代码语言:javascript
复制
;禁用PHP远程URL访问
allow_url_fopen=Off

;禁用远程 include 包含文件
allow_url_include=Off

3.开启完全模式

PHP的安全模式是为视图解决共享服务器(shared-server)的安全问题而设立的,开启之后,会对系统操作、文件、权限设置等方法产生影响,减少被黑客植入webshell所带来的安全问题,从而在一定程度上避免一些未知的攻击

代码语言:javascript
复制
;开启安全模式
safe_mode=On
safe_mode_gid=Off

设置后,所有命令执行函数都被限制只能执行safe_mode_exec_dir指定目录里的程序,例如shell_exec()、exec()等方法会被禁止,如果需要调用,需进行如下配置:

代码语言:javascript
复制
 safe_mode_exec_dir=/usr/local/php/exec

4.禁用危险函数

PHP中有很多危险的内置函数,如果使用不当,可能造成系统崩溃,配置文件中,disable_functions 选项能够在PHP中禁用指定的函数

代码语言:javascript
复制
disable_functions=phpinfo,eval,passthru,exec,system,chroot,scandir……

参考:《PHP建议禁用的危险函数

五、PHP中的Cookie安全

1.Cookie 的 HttpOnly

HttpOnly 可以让 Cookie 在浏览器中不可见,开启 HttpOnly 可以防止脚本通过 document 对象获取 Cookie

代码语言:javascript
复制
;开启 HttpOnly
session.cookie_httponly=1

2.Cookie 的 Secure

如果web传输协议使用的是HTTPS,则应开启 cookie_secure ,当Secure属性设置为true时,Cookie只有在HTTPS下才能上传到服务器,防止Cookie被窃取

代码语言:javascript
复制
session.cookie_secure=1
六、尽量减少非必要模块加载

加载尽量少的模块在优化PHP性能的同时,也增加了安全性,使用 php -m 命令可以查看当前 PHP 所加载的模块

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-11-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、屏蔽PHP错误信息
  • 二、防止版本号暴露
  • 三、防止全局变量覆盖
  • 四、PHP的访问限制
  • 五、PHP中的Cookie安全
  • 六、尽量减少非必要模块加载
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档