簡體   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