[英]XAMPP (WAMP) server - disable accessing files outside of root directory
我在Windows 8.1上使用XAMPP。
我在apache配置中有这个:
DocumentRoot "C:\Users\David\Dropbox\Programming\PHP"
<Directory "C:\Users\David\Dropbox\Programming\PHP">
虚拟主机:
<VirtualHost *:80>
ServerName http://spedice
DocumentRoot "C:\Users\David\Dropbox\Programming\PHP\Projects_Kuba\Spedice\SczCMS\www"
</VirtualHost>
<VirtualHost *:80>
ServerName http://domaciucetnictvi
DocumentRoot "C:\Users\David\Dropbox\Programming\PHP\Projects_Kuba\DomaciUcetnictvi\www"
</VirtualHost>
但是,如果我尝试访问根目录-C或访问某些文件夹,例如C:\\ Program Files等,则通常可以使用。 如何禁用该文件夹之外的文件:C:\\ Users \\ David \\ Dropbox \\ Programming \\ PHP?
FXP:
script.php的
<?php
mkdir('../../../../../../folder');
?>
放置在:C:\\ Users \\ David \\ Dropbox \\ Programming \\ PHP \\ Projects_Kuba \\ DomaciUcetnictvi \\ www
叫做: http://domaciucetnictvi/script.php
谢谢!
尝试在您的PHP配置中修改open_basedir设置 (有关更多信息,请参阅运行时配置 )。 这将防止PHP访问定义的basedir之外的目录。
- -编辑 - -
更具说服力。 您可以在Apache配置文件php.ini或.htaccess文件中设置open_basedir。
在php.ini中,您可以例如通过添加以下内容来执行此操作:
open_basedir = "/path/to/first/folder:/path/to/second/folder"
在.htacces中,您可以执行以下操作:
php_flag open_basedir "/path/to/first/folder"
在您的Apache配置中,尝试:
<Directory /docroot1>
php_admin_value open_basedir /path/to/first/folder
</Directory>
<Directory /docroot2>
php_admin_value open_basedir /path/to/second/folder
</Directory>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.