scz*_*vos 0 php apache xampp document-root windows-8.1
我在 Windows 8.1 上使用 XAMPP。
我在 apache 配置中有这个:
DocumentRoot "C:\Users\David\Dropbox\Programming\PHP"
<Directory "C:\Users\David\Dropbox\Programming\PHP">
Run Code Online (Sandbox Code Playgroud)
虚拟主机:
<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>
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试访问根目录 - C 或访问某些文件夹,如 C:\Program Files 等。它通常可以工作。如何禁止离开此文件夹:C:\Users\David\Dropbox\Programming\PHP?
输出:
脚本文件
<?php
mkdir('../../../../../../folder');
?>
Run Code Online (Sandbox Code Playgroud)
放置在:C:\Users\David\Dropbox\Programming\PHP\Projects_Kuba\DomaciUcetnictvi\www
调用如下: http://domaciucetnictvi/script.php
谢谢!
尝试修改PHP 配置中的open_basedir 设置(请参阅运行时配置以获取更多信息)。这将阻止 PHP 访问定义的 basedir(s) 之外的目录。
- -编辑 - -
再确定一点。您可以在 Apache 配置文件 php.ini 或 .htaccess 文件中设置 open_basedir。
在 php.ini 中,您可以通过添加以下内容来执行此操作:
open_basedir = "/path/to/first/folder:/path/to/second/folder"
Run Code Online (Sandbox Code Playgroud)
在 .htacces 中,你可以这样做:
php_flag open_basedir "/path/to/first/folder"
Run Code Online (Sandbox Code Playgroud)
在您的 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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3068 次 |
| 最近记录: |