日期:2014-05-16  浏览次数:20662 次

【转】Linux下的Apache和PHP安全设置

(1) safe_mode: 以安全模式运行php;

  在php.ini文件中使用如下

  safe_mode = On (使用安全模式)

  safe_mode = Off (关闭安全模式)

  在apache的httpd.conf中VirtualHost的相应设置方法

  php_admin_flag safe_mode On (使用安全模式)

  php_admin_flag safe_mode Off (关闭安全模式)

  或者:

  php_admin_value safe_mode 1 (使用安全模式)

  php_admin_value safe_mode 0 (关闭安全模式)

  (2) safe_mode_include_dir: 无需UID/GID检查的目录;

  (3) open_basedir: 将用户可操作的文件限制在某目录下;

  a、在Apache的httpd.conf中Directory的相应设置方法:

  php_admin_value open_basedir /usr/local/apache/htdocs/:/tmp/

  b、在php.ini中设置open_basedir = .:/tmp/, 这个设置表示允许

  访问当前目录(即PHP文件所在目录)和/tmp/目录。

  (4) disable_functions:设置禁用函数;

  典型的安全性配置

  disable_functions = shell_exec,system,exec,passthru,show_source,get_cfg_var,dl

  若允许用户调试程序,则配置如下:

  disable_functions = shell_exec,system,exec,passthru

  (5) register_globals: 禁止注册全局变量;

  register_globals = On (自动注册为全局变量)

  register_globals = Off (不可注册为全局变量)

  (6) magic_quotes_gpc: 令敏感字元转义

  magic_quotes_gpc = On

  magic_quotes_gpc = Off

  在Apache的httpd.conf中VirtualHost的相应设置方法:

  php_admin_flag magic_quotes_gpc on

  或者:

  php_admin_value magic_quotes_gpc 1

?

?