background image

php.ini

 

     中有关安全的设置

 

 

php

 

的默认配置文件在 /usr/local/apache2/conf/php.ini,通过为了使你的

web 更安全,我们需要对 php.ini 进行一些设置!

(1) 打开

php

 

     的安全模式

 

 

§

  php 的安全模式是个非常重要的内嵌的安全机制,能够控制一些 php 中
的函数,比如 system(),
  同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的
文件,比如/etc/passwd,
  但是默认的 php.ini 是没有打开安全模式的,我们把它打开:
safe_mode = on
(2) 用户组安全
  当 safe_mode 打开时,safe_mode_gid 被关闭,那么 php 脚本能够对
文件进行访问,而且相同
  组的用户也能够对文件进行访问。
  建议设置为:safe_mode_gid = off
  如果不进行设置,可能我们无法对我们服务器网站目录下的文件进行操
作了,比如我们需要
  对文件进行操作的时候。
(3) 安全模式下执行程序主目录
  如果安全模式打开了,但是却是要执行某些程序的时候,可以指定要执
行程序的主目录:
  safe_mode_exec_dir = D:/usr/bin
  一般情况下是不需要执行什么程序的,所以推荐不要执行系统程序目录,
可以指向一个目录,
  然后把需要执行的程序拷贝过去,比如:safe_mode_exec_dir = 
D:/tmp/cmd
  但是,我更推荐不要执行任何程序,那么就可以指向我们网页目录:
  safe_mode_exec_dir = D:/usr/www
(4) 安全模式下包含文件
  如果要在安全模式下包含某些公共文件,那么就修改一下选项:
  safe_mode_include_dir = D:/usr/www/include/
  其实一般 php 脚本中包含文件都是在程序自己已经写好了,这个可以根
据具体需要设置。
(5) 控制 php 脚本能访问的目录
  使用 open_basedir 选项能够控制 PHP 脚本只能访问指定的目录,这样
能够避免 PHP 脚本访问
  不应该访问的文件,一定程度上限制了 phpshell 的危害,我们一般可以
设置为只能访问网站目录:
  open_basedir = D:/usr/www
(6) 关闭危险函数
  如果打开了安全模式,那么函数禁止是可以不需要的,但是我们为了安
全还是考虑进去。比如,
  我们觉得不希望执行包括 system()等在那的能够执行命令的 php 函数,