`
calatustela
  • 浏览: 141460 次
  • 性别: Icon_minigender_1
  • 来自: 江苏●南通
社区版块
存档分类
最新评论

PHP安全配置

阅读更多

来至:http://edu.cnzz.cc/program/php/2965.html

PHP是非常强大的服务器端脚本语言,但是强大的功能总是伴随着重大的危险,PHP本身老版本有一些问题,比如在 php4.3.10和php5.0.3以前有一些比较严重的bug,所以推荐使用新版。另外,目前闹的轰轰烈烈的SQL Injection也是在PHP上有很多利用方式,所以要保证安全,PHP代码编写是一方面,PHP的配置更是非常关键。在这节里,你将学习修改PHP.ini文件来阻止一些PHP潜在的危险因素 。
一、 php.ini文件的选择
  设定有效的 PHP 配置文件,php.ini。压缩包中包括两个 ini 文件,php.ini-dist 和 php.ini-recommended。建议使用 php.ini-recommended,因为此文件对默认设置作了性能和安全上的优化。仔细阅读此文件中的说明并研究 ini 设置 一章来亲自人工设定每个项目。如果要达到最佳的安全效果,则最好用这个文件,尽管 PHP 在默认的 ini 文件下也工作的很好。将选择的 ini 文件拷贝到 PHP 能够找到的目录下并改名为 php.ini。PHP 默认在 Windows 目录下搜索 php.ini:
  在 Windows 9x/ME/XP 下将选择的 ini 文件拷贝到 %WINDIR%,通常为 c:\windows。
  在 Windows NT/2000 下将选择的 ini 文件拷贝到 %WINDIR% 或 %SYSTEMROOT% 下,通常为 c:\winnt 或 c:\winnt40 对应于服务器版本。
  如果在 Windows NT,2000 或 XP 中使用了 NTFS,确保运行 webserver 的用户名对 php.ini 有读取的权限(例如使其对 Everyone 可读)。
  php.ini -dist 一般用于程序开发。
  php.ini -recommended 用于线上服务使用。
二、 php.ini文件的修改
  php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(),同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd,但是默认的php.ini是没有打开安全模式的,我们把它打开。
  1、找到"safe_mode=off"改为"safe_mode=on"
  象一些能执行系统命令的函数shell_exec()和``被禁止,其它的一些执行函数如:exec(), system(), passthru(),popen()将被限制只能执行safe_mode_exec_dir指定目录下的程序。如果你实在是要执行一些命令或程序,找到以下:
  safe_mode_exec_dir =
  指定要执行的程序的路径,如:
  safe_mode_exec_dir = c:\wwwroot
  然后把要用的程序拷到c:\wwwroot目录下,这样,象上面的被限制的函数还能执行该目录里的程序
  2、找到"display_errors=on"改为"display_errors=off"
  一般php在没有连接到数据库或者其他情况下会有提示错误,一般错误信息中会包含php脚本当前的路径信息或者查询的SQL语句等信息,这类信息提供给黑客后,是不安全的,所以一般服务器建议禁止错误提示 。
  display_errors = Off
  log_errors = On
  同时也要设置错误日志存放的目录 找到下面这行
  ;error_log = filename
  去掉前面的;注释,把filename改为指定文件
  error_log = D:/usr/php_error.log
  3、找到"disable_functions="改为:"disable_functions=phpinfo,system,exec,passthru,shell_exec,popen,is_dir".
  我们觉得不希望执行包括system()等在内的能够执行命令的php函数,或者能够查看php信息的phpinfo()等函数,那么我们就可以禁止它们:
  4、查找:magic_quotes_gpc 如果是Off的话改成On
  打开magic_quotes_gpc来防止SQL注入。
  5、查找:register_globals
  在PHP中提交的变量,包括使用POST或者GET提交的变量,都将自动注册为全局变量,能够直接访问,这是对服务器非常不安全的,所以我们不能让它注册为全局变量,就把注册全局变量选项关闭:
  6、查找:open_basedir 后面增加 /www/ /*说明:www为网站程序所放文件*/
  这个选项可以禁止指定目录之外的文件操作,还能有效地消除本地文件或者是远程文件被include()等函数的调用攻击。
  7、expose_php设为off ,这样php不会在http文件头中泄露信息。
  我们为了防止黑客获取服务器中php版本的信息,可以关闭该信息斜路在http头中 。
  8、设置“allow_url_fopen”为“off” 这个选项可以禁止远程文件功能 。

 

分享到:
评论

相关推荐

    PHP安全配置 如何将PHP配置的更安全

    PHP安全配置 如何将PHP配置的更安全

    php安全配置规范

    有关php安全配置规范详解,运维人员需要注意的地方

    PHP安全配置之实现安全的两个重点

    PHP其实不过是Web服务器的一个模块功能,所以首先要保证Web服务器的安全。当然Web服务器要安全又必须是先保证系统安全。PHP可以和各种Web服务器结合,这里也只...本文详细的介绍了PHP安全配置之实现安全的两个重点。

    抓住PHP安全配置的两个重点

    PHP安全配置过程需要注意两个重点:一,Web服务器安全;二,PHP本身问题。PHP其实不过是Web服务器的一个模块功能,所以首先要保证Web服务器的安全。

    php安全配置 如何配置使其更安全

    另外,目前闹的轰轰烈烈的SQL Injection也是在PHP上有很多利用方式,所以要保证安全,PHP代码编写是一方面,PHP的配置更是非常关键。 我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,...

    php.ini安全配置

    安全配置一 (1) 打开php的安全模式  php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(),  同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/...

    PHP安全配置(4)

    PHP的安全配置还需要注意:取消其它用户对常用、重要系统命令的读写执行权限;去掉apache日志其它用户的读权限。

    PHP安全配置(2)

    PHP的配置非常灵活,可以通过php.ini, httpd.conf, .htaccess文件进行设置,还可以在脚本程序里使用ini_set()及其他的特定的函数进行设置。通过phpinfo()和get_cfg_var()函数可以得到配置选项的各个值。

    PHP安全配置(1)

    PHP其实不过是Web服务器的一个模块功能,所以首先要保证Web服务器的安全。PHP可以和各种Web服务器结合,本文也只讨论Apache。

    PHP安全配置(3)

    PHP的文件上传机制是把用户上传的文件保存在php.ini的upload_tmp_dir定义的临时目录里的一个类似phpxXuoXG的随机临时文件,程序执行结束,该临时文件也被删除。

    pcc:PHP安全配置检查器

    PHP安全配置检查器 检查当前PHP配置是否存在潜在的安全漏洞。 只需从您的Web服务器访问该文件或在CLI上运行即可。 作者 该软件是由的Ben Fuhrmannek编写的,自动化php.ini检查并花费更多的时间执行任务。 理念 一个...

    木翼下载系统中说明的PHP安全配置方法

    木翼下载系统中说明的PHP安全配置方法

    3389远程终端安全配置全攻略.php

    3389远程终端安全配置全攻略 .php

    php安全配置记录和常见错误梳理(总结)

    下面小编就为大家带来一篇php安全配置记录和常见错误梳理(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    php脚本资料电子书籍

    PHP安全配置 Php部分常见问题总结 PHP程序如何防止站外提交数据 php的正则表达式专题 php通用检测函数集 PHP中的POST&GET的应用 PHP注入实例 Portable PHP Code ProjectForum Multiple Vulnerabilities PTNews远程...

    PHP安全配置详细说明

    PHP勿庸置疑是非常强大的服务器端脚本语言,但是强大的功能总是伴随着重大的危险,在这章里,你将学习到使用PHP的安全模式来阻止一些PHP潜在的危险因素。

    php安全设置(涉及到本身程序的安全问题)

    另外,目前闹的轰轰烈烈的SQL Injection也是在PHP上有很多利用方式,所以要保证安全,PHP代码编写是一方面,PHP的配置更是非常关键。 我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,...

Global site tag (gtag.js) - Google Analytics