pzg's blog

php open_basedir设置以及关于安全

open_basedir可将用户访问文件的活动范围限制在指定的区域,通常是其家目录的路径,也可用符号”.”来代表当前目录。注意用open_basedir指定的限制实际上是前缀,而不是目录名。
举例来说: 若”open_basedir = /dir/user”, 那么目录 “/dir/user” 和 “/dir/other”都是可以访问的。所以如果要将访问限制在仅为指定的目录,请用斜线结束路径名。
open_basedir也可以同时设置多个目录,在Windows中用分号分隔目录,在任何其它系统中用冒号分隔目录。当其作用于Apache模块时,父目录中的open_basedir路径自动被继承。

Apache+PHP配置方法有三种:
方法一:在php.ini里配置
open_basedir = .:/tmp/

方法二:在Apache配置的VirtualHost里设置(httpd-vhosts.conf)
php_admin_value open_basedir .:/tmp/

方法三:在Apache配置的Direcotry里设置
php_admin_value open_basedir .:/tmp/

关于三个配置方法的解释:
a、方法二的优先级高于方法一,也就是说方法二会覆盖方法一;方法三的优先级高于方法二,也就是说方法三会覆盖方法二;
b、配置目录里加了“/tmp/”是因为php默认的临时文件(如上传的文件、session等)会放在该目录,所以一般需要添加该目录,否则部分功能将无法使用;
c、配置目录里加了“.”是指运行php文件的当前目录,这样做可以避免每个站点一个一个设置;
d、如果站点还使用了站点目录外的文件,需要单独在对应VirtualHost设置该目录;

——————————————————————————————————————————————————————————————————————————
这里是我实验的一个例子,设置了两个host,当然一块把Apache设置vitualHost的方法也列出了:

#虚拟主机配置文件

NameVirtualHost *:80

#简单设置模式

ServerAdmin admin@8100.cc
DocumentRoot “C:/AWEB/phproot/test”
ServerName localhost
#ServerAlias www.test.com
ErrorLog “logs/error.log”
CustomLog “logs/access.log” common

#详细设置模式

ServerAdmin admin@cc.cc
DocumentRoot “C:/AWEB/phproot/test2”
ServerName www.test2.com
# php_admin_value open_basedir C:/AWEB/phproot/test2/;C:/windows/temp/ 放在这里也可以

Options Indexes FollowSymLinks
AllowOverride Options FileInfo
Order allow,deny
Allow from all
DirectoryIndex index.htm index.html index.php
php_admin_value open_basedir c:/AWEB/phproot/test2/;C:/windows/temp/

Alias /phpmyadmin “C:/AWEB/phpMyAdmin/”

AllowOverride AuthConfig
Order allow,deny
Allow from all

ErrorLog “logs/error.log”
CustomLog “logs/access.log” common

——————————————————————————————————————————————————————————————————————————
最后转军神的那两句话:

一、open_basedir中处理文件路径时没有严格考虑目录的存在,这将导致本地包含或者本地文件读取的绕过(合并/aaa/../../导致linux的目录检查作废)。

二、open_basedir的值配置不当,有可能导致目录跨越(配置时忘记目录最后的斜杠 / )。

《 “php open_basedir设置以及关于安全” 》 有 13 条评论

  1. 比分_www.779a.com|coyh28 的头像
    比分_www.779a.com|coyh28

    博客不错,收藏了几篇。支持下。我还会继续关注博主的…..壬辰年(龙)四月初六 2012-4-26

  2. 红瓷 的头像

    不错哦,来看看

  3. 我的小站 的头像

    来踩踩,博主写的太好了!

  4. azhen0125 的头像

    博主写的不错,很有技术性的东西。我来学习了

  5. 5ze3rk 的头像

    楼主,永远支持你!

  6. 好电影网 的头像

    博客不错,收藏了几篇

  7. 淘宝男装 的头像

    很有技术性的东西。我来学习了

  8. 九江妇科医院 的头像

    我这个站现在就是用PHPCMS做的,老实说没织梦好用。织梦对seoer更友好。

  9. 远大可建 的头像

    每次来博主这里都能学到新的东西,赞一个!希望越来越多好的文章

  10. 全球第一高楼 的头像

    早点看到这篇文章就好了,以后一定抢沙发。博主有兴趣可以到我的网站看看。

  11. 782y0m 的头像

    楼主,永远支持你!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注