[英]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.