繁体   English   中英

XAMPP(WAMP)服务器-禁止访问根目录之外的文件

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM