Я думаю, что вы приближаетесь к этому с неправильной точки зрения.
По умолчанию Apache должен быть сказал он имеет доступ к ничего на диске, поставив что-то вроде этого в файле httpd.conf
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
Тогда в каждом из ваших виртуальных хостов definintions вы указать, какие каталоги этого сайта имеет такой доступ.
<VirtualHost *:80>
DocumentRoot "C:/websites/www/site1"
ServerName site1.dev
ServerAlias www.site1.dev
Options Indexes FollowSymLinks
<Directory "C:/websites/www/site1">
Order Deny,Allow
Deny from all
# This is my development version of site1.com and only allowed to be used on my internal network
Allow from 127.0.0.1 localhost ::1 192.168.2
</Directory>
ErrorLog "C:/websites/dev_logs/apache_error.log"
CustomLog "d:/websites/dev_logs/apache_access.log" combined
</VirtualHost>
В качестве альтернативы, если вы хотите разрешить доступ из Интернета изменить Order
и Allow
как этот
<VirtualHost *:80>
DocumentRoot "C:/websites/www/site1"
ServerName site1.com
ServerAlias www.site1.com
Options Indexes FollowSymLinks
<Directory "C:/websites/www/site1">
Order Allow,Deny
# This is the live site can be accessed from the internet
Allow from all
</Directory>
ErrorLog "C:/websites/live_logs/apache_error.log"
CustomLog "d:/websites/live_logs/apache_access.log" combined
</VirtualHost>
Используя этот механизм, вы знаете, что по умолчанию Apache не может получить доступ к любым папкам в системе, не специально предоставление доступа из определения виртуальных хостов.
Может ли PHP получить доступ к файлам браузера над папкой 'DocumentRoot'? – anubhava
@anubhava Да, даже он может удалить их –
Вот почему вы не устанавливаете wamp. Apache не предоставляет способ редактирования или удаления списков каталогов. Что вы видите, что позволяет удалять файлы? Это самый простой ответ http://stackoverflow.com/a/4400412/46675 –