У меня есть следующий файл .htaccess:
RewriteEngine On
RewriteBase /
# Protect the htaccess file
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>
# Protect log.txt
<Files ./inscription/log.txt>
Order Allow,Deny
Deny from all
</Files>
# Disable directory browsing
Options All -Indexes
Я пытаюсь запретить посетителям доступ к следующему файлу:
domain.com/inscription/log.txt
но то, что у меня указано выше, не работает: я все еще могу получить доступ к файлу из браузера удаленно.
<Files>
директивы применяется только к этому каталогу» - нет. Он применяется к этому каталогу и всем подкаталогам под ним. Так<Files "log.txt">
поймают/log.txt
и/inscription/log.txt
.Order Allow,Deny
он устарел в версии 2.4?Сильное сопоставление с образцом - это метод, который я использую в Perishable Press. Используя строгое сопоставление с образцом, этот метод предотвращает внешний доступ к любому файлу, содержащему « .hta », « .HTA » или любую их комбинацию без учета регистра. Чтобы проиллюстрировать, этот код предотвратит доступ по любому из следующих запросов:
.. и т. д. и т. д. Очевидно, что этот метод очень эффективен для защиты файлов HTAccess вашего сайта. Кроме того, этот метод также включает укрепляющую директиву « Удовлетворять всем ». Обратите внимание, что этот код следует поместить в корневой файл HTAccess вашего домена:
источник
<Files ~"^\..*">
.Я не верю, что принятый в настоящее время ответ правильный. Например, у меня
.htaccess
в корне виртуального сервера (apache 2.4) есть следующий файл:Это предотвращает внешний доступ к
reminder.php
которому находится в подкаталоге. У меня есть аналогичный.htaccess
файл на моем сервере Apache 2.2 с таким же эффектом:Я не знаю наверняка, но подозреваю, что это попытка определить подкаталог специально в
.htaccess
файле, а именно,<Files ./inscription/log.txt>
что приводит к его сбою. Было бы проще поместить.htaccess
файл в тот же каталог, что иlog.txt
вinscription
каталоге, и он будет работать там.источник
Поместите следующую строку в свой файл .htaccess и замените имя файла, как хотите
источник
Ну, вы можете использовать
<Directory>
тег, например:Не используйте,
./
потому что, если вы просто используете,/
он просматривает корневой каталог вашего сайта.Для более подробного примера посетите http://httpd.apache.org/docs/2.2/sections.html.
источник
<Directory>
контейнер не допускается.htaccess
. В.htaccess
, сам.htaccess
файл является « Контейнером Каталога » (файл конфигурации для каждого каталога).Redirect /inscription/log.txt access_denied.html
Это перенаправит пользователя,access_denied.html
если пользователь перейдетinscription/log.txt
в каталог с надписью.