Обработка файлов и папок в 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, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Была ли эта статья полезна? Есть вопрос?
Cмотрите другие статьи: