推荐的php安全配置选项
2024-08-28 15:08:42
推荐安全配置选项
这里有几个会影响安全功能的 PHP 配置设置。下面是一些显然应该用于生产服务器的:
register_globals 设置为 off
safe_mode 设置为 off
error_reporting 设置为 off。如果出现错误了,这会向用户浏览器发送可见的错误报告信息。对于生产服务器,使用错误日志代替。开发服务器如果在防火墙后面就可以启用错误日志。(LCTT 译注:此处据原文逻辑和常识,应该是“开发服务器如果在防火墙后面就可以启用错误报告,即 on。”)
停用这些函数:system()、exec()、passthru()、shell_exec()、proc_open()、和 popen()。
open_basedir 为 /tmp(以便保存会话信息)目录和 web 根目录,以便脚本不能访问这些选定区域外的文件。
expose_php 设置为 off。该功能会向 Apache 头添加包含版本号的 PHP 签名。
allow_url_fopen 设置为 off。如果你能够注意你代码中访问文件的方式-也就是你验证所有输入参数,这并不严格需要。
allow_url_include 设置为 off。对于任何人来说,实在没有明智的理由会想要访问通过 HTTP 包含的文件。
一般来说,如果你发现想要使用这些功能的代码,你就不应该相信它。尤其要小心会使用类似 system() 函数的代码-它几乎肯定有缺陷。
启用了这些设置后,让我们来看看一些特定的攻击以及能帮助你保护你服务器的方法。
最新文章
- Leetcode: Rearrange String k Distance Apart
- Cordova webapp实战开发:(7)如何通过简单的方法做到,不重新发布APP来修复bug、增加功能、或者躲开苹果的一些严格审核?
- 【HDU】3480 Division
- [Linux] VirtualBox - 主机与虚拟机互通 - CentOS
- 编写程序,查找并删除forward_list<;int>;中的奇数元素
- el和jstl
- JVM虚拟机选项:Xms Xmx PermSize MaxPermSize区别
- 一个好用的web甘特图
- 从网络上获取图片并保存在sdCard上
- Time模块和datetime模块
- ES 常用java api
- 在 ubuntu 中愉快的安装 Jenkins
- 高端内存映射之vmalloc分配内存中不连续的页--Linux内存管理(十九)
- c/c++ 通用的(泛型)算法 generic algorithm 总览
- 进程间通信IPC与Binder机制原理
- MySQL5.7.21解压版安装详细教程
- Dojo框架:误解与现实[转载]
- 解题:NOI 2010 航空管制
- 中小型研发团队架构实践七:集中式日志ELK
- 【原创】Spring 注入方式