Блог веб разработки

Блог веб-разработки статьи | видеообзоры | исходный код

htaccess запретить доступ к директории

Всем доброго времени суток, сегодня мы рассмотрим основные настройки файла .htaccess который вы можете использовать на своих ресурсах(сайтах, сервисах и т.п.) в интернете.

Сам файл по сути не имеет названия и поэтому начинается с точки .htaccess. Создать такой файл вы можете используя любую среду разработки(Notepad++, phpStorm и т. п.) он является простым текстовым файлом. Ну хватит теории приступим непосредственно к делу, создадим файл .htaccess и внесем в него первую настройку .

#Кодировка
AddDefaultCharset UTF-8

Что мы тут видим, ну во первых с помощью решетки(#) добавляются одностраничные комментарии(инструкции, пояснения) которые не как не влияют на общие настройки.

AddDefaultCharset - c помощью этой команды мы выставляем кодировку в нашем случае это utf-8.

Теперь давайте рассмотрим работу с доступами:

#Запрет доступа
Deny from all

Данная опция запрещает доступ к текущей директории, всем ее файлам и папкам.

Давайте теперь рассмотрим пример посложнее:

#Запрещаем обращение к файлам типов zip,7z,rar,txt,sql
<FilesMatch ".(zip|7z|rar|txt|sql)$">
 Order Allow,Deny
 Deny from all
</FilesMatch>

здесь с помощью filesMatch мы указываем что то типа регулярного выражения в котором говорится что все файлы которые заканчиваются на .zip, .7z и т.д. или по другому имеют такие расширения. Будут ограничены в доступе. То есть доступ к ним будет запрещен.С помощью строчки Order Allow, Deny - мы указываем что доступ закрыт только для текущих(перечисленных файлов).

Мы также можем перекрыть доступ к определенным файлам:

<FilesMatch "(confg|test).(php)$">
 Order Allow,Deny
 Deny from all
</FilesMatch>

к примеру confg.php и test.php.

Также можно закрывать доступы определенным ip:

<FilesMatch "(confg|test).(php)$">
 Deny from 127.0.0.1 123.32.32.32
</FilesMatch>
#Запрещаем вывод содержимого  папок
Options -Indexes

С помощью данной настройки мы запрещаем вывод списка файлов и папок в директории.

#При возникновении ошибок 404,403,500 перебрасываем пользователя на определенные страницы
ErrorDocument 404 /page404.php
ErrorDocument 403 /page403.php
ErrorDocument 500 /page500.php

Данные инструкции при возникновении ошибок с определенным кодом ошибки перенаправляют пользователя на указанные страницы. То есть если возникнет ошибка 404(страница не найдена) , то с помощью данной инструкции ErrorDocument 404 /page404.php нас перенаправит на страницу page404.php. Тут следует отметить что вы должны создать данную страницу!

ErrorDocument 404 путь к странице

Теперь поговорим о механизме mod_rewrite

#Включаем mod_rewrite
RewriteEngine On -

Данный механизм позволяет делать перенаправления или редиректы.

Например если мы хотим что при переходе на старую страницу которая начинается с old_url и заканчивается .html нас перебрасывало на адрес new_url.html? , то нам нужно прописать следующий код.

RewriteRule ^old_url\.html$  /new_url.html [R=301,L]

где ^old_url\.html$ - старый адрес с которого будет осуществляться перенаправление, /new_url.html -новый адрес куда осуществляется перенаправление [R=301] - перенаправление 301

В общем использование данного механизма довольно обширно. И требует посвещения отдельной статьи.

На этом дорогие друзья на сегодня все надеюсь данная статья была для вас полезна и занимательна. Я желаю вам успеха и удачи! Пока!

Оцените статью

Еще статьи

файлы GIT

методы классов PHP

accesskey HTML

sms php

камера html

array filter js

Комментарии

Алексей

Отличная статья, спасибо Вам огромное!

19:09 02-09-2019

История

    НОВОСТИ

    • Опубликовал приложение под android 'Аудиокниги'. Кому интересно, переходите по ссылке