推荐安全配置选项

这里有几个会影响安全功能的 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() 函数的代码-它几乎肯定有缺陷。

启用了这些设置后,让我们来看看一些特定的攻击以及能帮助你保护你服务器的方法。

最新文章

  1. Leetcode: Rearrange String k Distance Apart
  2. Cordova webapp实战开发:(7)如何通过简单的方法做到,不重新发布APP来修复bug、增加功能、或者躲开苹果的一些严格审核?
  3. 【HDU】3480 Division
  4. [Linux] VirtualBox - 主机与虚拟机互通 - CentOS
  5. 编写程序,查找并删除forward_list<int>中的奇数元素
  6. el和jstl
  7. JVM虚拟机选项:Xms Xmx PermSize MaxPermSize区别
  8. 一个好用的web甘特图
  9. 从网络上获取图片并保存在sdCard上
  10. Time模块和datetime模块
  11. ES 常用java api
  12. 在 ubuntu 中愉快的安装 Jenkins
  13. 高端内存映射之vmalloc分配内存中不连续的页--Linux内存管理(十九)
  14. c/c++ 通用的(泛型)算法 generic algorithm 总览
  15. 进程间通信IPC与Binder机制原理
  16. MySQL5.7.21解压版安装详细教程
  17. Dojo框架:误解与现实[转载]
  18. 解题:NOI 2010 航空管制
  19. 中小型研发团队架构实践七:集中式日志ELK
  20. 【原创】Spring 注入方式

热门文章

  1. 基于Spring MVC + Spring + MyBatis的【医院就诊挂号系统】
  2. Java高级程序设计笔记 • 【第3章 多线程(二)】
  3. 编写Java程序,创建一个 Person 类,该类中有一个类成员变量 country、一个实例变量 name 和另一个实例变量 age。
  4. centos6.5-svn搭建文档
  5. Python web框架开发 - WSGI协议
  6. antd中的form表单 initialValue导致数据不更新问题
  7. Python常用功能函数系列总结(六)
  8. Python常用功能函数系列总结(五)
  9. maven仓库策略
  10. 查询并导出表结构为Excel