Обработка файлов и папок в htaccess: запрет, правила

Существует возможность поставить в файле ".htaccess" запрет на обработку некоторых файлов или наоборот заставить файл обрабатываться вне зависимости от его расширения. К примеру, можно заставить файлы с расширением ".html" обрабатывать как будто у них расширение ".php". Это делается с помощью оператора AddHandler. Попробуем сделать это. Откроем файл ".htaccess" в корне сайта и запишем первой строчкой:
AddHandler application/x-httpd-php .html

Запрет доступа к файлу

Приведём пример запрета на доступ к файлу:
<Files "secret.php">
   Deny From All
</Files>
Теперь если сделать запрос к файлу secret.php, который находится в корневой папке сайта, то вернётся статус 403 (доступ запрещён) и будет показано сообщение:
Forbidden

You don't have permission to access secret.php on this server.

Apache/XXX (YYYY) Server at ZZZZ Port №№
Вместо отдельного файла "secret.php" можно поставить папку "/secret/". Тогда получится запрет на доступ к папке и всем вложенным в неё папкам/файлам.

Попробуем изменить сообщение о запрете доступа. Для этого поставим опцию ErrorDocument, которая указывает, какой документ необходимо выдавать на какую ошибку:
ErrorDocument 403 /403.html
<Files "secret.php">
   Deny From All
</Files>
Теперь при обращении к файлу "secret.php" будет выдаваться страница 403.html, которая находится в корне сайта. На этой странице можно написать предупреждение, которое увидят пользователи.

Запрет на отображение содержимого папки

Из соображений безопасности на сайтах часто ставят запрет на отображение списка файлов в папке без индексного файла. Представьте ситуацию: пользователь переходит по адресу сайта, который как папка. К примеру, так: site.ru/products/. Но из-за того что в этой папке не оказалось файла index.php, пользователю показывается не пустая страница, а структура файлов сайта. Чтобы этого не происходило, в .htaccess записывается опция:
Options -Indexes
Тогда при заходе в папке сайта без индексного файла, будет выдаваться статус 403.
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, покупка SSL сертификатов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Была ли эта статья полезна? Есть вопрос?
Cмотрите другие статьи: