Apache下PHP虚拟主机对于目录权限控制

Apache下PHP虚拟主机对于目录权限控制

通过Apache的htaccess功能可以实现对站点内的目录实现访问权限控制

如果虚拟主机,phpshell的权限就应该得到控制,在apache中为我们提供了

php_admin_value来实现PHP脚本对目录访问的权限控制
 

<VirtualHost *:80>  
  DocumentRoot "F:\www\main"
#  Options -Indexes FollowSymLinks    
  ServerName localhost
  ServerAlias www.a.com
  php_admin_value open_basedir "F:\www\main"
#  BandwidthModule On
#  ForceBandWidthModule On
#  BandWidth all 0
#  MaxConnection all 100               
</VirtualHost>

在PHP的配置文件中禁用相关的函数,能够起到很好的预防作用.
disable_functions=phpinfo,exec,passthru,shell_exec,popen,is_dir,system…

这样的配置比较适合数量比较多的虚拟主机.

除了设定的目录,php脚本是不能访问和调转的。

php_admin_value open_basedir “F:\www\main”
 

php_admin_value 还有会引起PHP内的move_uploaded_file不能使用,

如果是在windows下需要加上文件上传的临时目录,比如c:\windows\temp
win下用;分割,linux下用冒号:

留下回复