Запреты и разрешения доступа в файле .htaccess | SelkinVitaly.RU
Запреты и разрешения доступа в файле .htaccess  | SelkinVitaly.RU

Запреты доступа в .htaccess

Рубрика: Файл .htaccess

Просмотров: 15591

Здраствуйте! Продолжаем пополнять наши знания. На этот раз я хочу поговорить о запретах в файле .htaccess.

Очень часто случается, что необходимо огородить наш сайт или его каталог от нежелательных посетителей. Это достигается множеством вариантов, и один из них - использование директив файла .htaccess.

Устанавливаем запреты:

Управляем доступом в файле .htaccess

Забегая вперёд, хочу сказать, что запретом руководит директива Deny, доступом - Allow. Т.е когда необхомо запретить доступ, используем Deny, а когда разрешить - Allow.

Если нужно связать какой-нибудь файл/папку, то используем Files, в котором указываем путь к файлу/папке.

Возможно сейчас Вам не понятно, но в процессе чтения всё поймёте.

Запрет всем посетителям, в том числе и нам, на доступ ко всем файлам и папкам:

Deny from all

И теперь, когда посетитель обращается к каталогу, в котором находится .htaccess файл, он получает сообщение о запрете. Для чего этот вариант запрета используется? Отвечу - для защиты от прямого вызова.

Например, у нас на сервере имеется папка include, в которой содержатся подключаемые файлы. Возможность прямого вызова этих файлов - уязвимое место Вашего сайта, которое используют многие вредители. Для того чтобы это предотвратить, создаём .htaccess файл, прописываем данный запрет и помещаем файл в папку include. И если теперь обратиться к файлам папки include или к самой папке, то увидим сообщение о запрете.

Запрет определённому IP-адресу:

Аналогичная ситуация, только вместо "all" прописываем IP-адреc вредителя:

Deny from 127.0.0.1

Этот пример можно использовать вкачестве банов. Например, на нашем сайте было осуществлена попытка взлома. Мы узнали, что злоумышленник действовал с IP-адреса 192.168.1.1. Прописав запрет для данного адреса в .htaccess файле, находящемся в корне сайта, мы блокируем доступ вредителю к нашему сайту.

Запрет нескольким IP-адресам:

Deny from 127.0.0.1
Deny from 192.168.1.1

Запрет на доступ к определённому файлу:

Предположим, что нужно запретить доступ лишь к одному файлу, а остальным папкам оставить. В такой ситуации прописываем в наш .htaccess следующий код:

<Files page.php>
Deny from all
</Files>

Получаем запрет на доступ файла page.php. Если нужно прописать запрет для одного юзера, то, опять же, заменям "all" на IP-адрес.

Запрет на доступ к файлам с определённым одним расширением:

<Files *.cfg>
Deny from all 
</Files>

Имеем запрет на все файлы с расширением cfg.

А представьте, что у нас на сервере следующие файлы:

  • a.cfg - нужен запрет
  • config.cfg - запрет не нужен
  • b.cfg - нужен запрет
  • file.cfg - запрет не нужен

Закономерность понимаете? Файлы с расширением cfg, имеющие перед точкой один символ, подлежат запрету. В таком случаем используем не спецсимвол "*", а "?":

<Files ?.cfg>
Deny from all
</Files>

Т.е "?" обозначает один любой случайный символ:

<Files s?l?in.cfg>
Deny from all
</Files>

Под такой запрет могут попасть файлы selkin.cfg, salvin.cfg и тд., однако не попадут selkinv.cfg(лишний символ), kelkin.cfg(неверный символ).

Опять же, "all" можно менять на IP.

Запрет на доступ к файлам с несколькими расширениями:

<Files ~ "\.(conf|cfg)$">
Deny from all 
</Files>

Файлы с расширением conf и cfg подлежат запрету.

Открываем доступ только одному IP:

Order Deny,Allow
Deny from all
Allow from 127.0.0.1

Строка "Order Deny,Allow" указывает последовательность действий. Проще говоря, мы обращаемся к веб-серверу: "Apache, запрети всем доступ к этому каталогу, но мне(127.0.0.1) разреши". Видите, что сначала запрещаем доступ, потом - разрешаем, поэтому прописываем "Order Deny,Allow", а не "Order Allow,Deny". Вторая строка нам уже знакома - запрет доступа для всех, а третья - открывает доступ персонально для нас. Получаем запрет для всех, кроме меня.

Данный вид запрета можно использовать в администраторской часте сайта. Например, админка сайта находится в папке adm. Мы создаём .htaccess с данным кодом, прописав свой IP, и помещаем его в папку adm.

На этом моменте мы с Вами прервёмся. Если что-то не понятно - пишите в комментариях, будем обязательно разбираться.

Комментарии:

Добавил: Александр (25-Jan 2012 17:54:24)

Maxim и тем кому сложно найти... Запретить просмотр директории: Options -Indexes, но доступ к ней будет. Так можно поступить с CSS, например.

Добавил: владимир (25-Nov 2011 15:35:59)

всем приф подскажите вот к примеру у меня в папке два файла .index.php fao.php как мне зделать чтоб к ним доступ был а ко всем которые могут появится новые запрет

Добавил: Andrew (04-Sep 2011 12:37:32)

ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы

Добавил: Елена (17-Feb 2011 20:56:15)

Здравствуйте!Очень нужна помощь,нигде не нашла ответа.Даже Best-Hoster не помог.Проблема в следующем.Установила сайт на Вордпрессе и с самого начала не активируется ни один плагин.На любую попытку выходит заставка Технические работы на сервере. Попробуйте зайти через несколько минут, или обновить страницу. Техподдержка ответила, что сервер работает в штатном режиме, а скриптами пользователей они не занимаются. Подскажите, что можно сделать?

Добавил: Cawa (31-Jan 2011 11:08:46)

Здраствуйте! Подскажите пожалуйста мне нужно запретить всем кроме моего сайта, подскажите как нужно сделать?

Добавил: Cawa (31-Jan 2011 2:41:06)

Не подскажете как запретить доступ всем, и разрешить только моему серверу сайту?

Добавил: Maxim (25-Jan 2011 12:56:16)

При таком коде доступ к файлу CSS блокируется для самого сайта. Как его открыть? Order Deny,Allow Deny from all Allow from 127.0.0.1

Добавил: r2w (08-Nov 2010 12:55:47)

очень нужный и важный вопрос. Как запретит просмотр и скачивание файла так чтобы это не влияло на сам сайт. К примеру взять файл style.css с нашими трудоемкими настройками всего дизайна. Если прописать <Files *.css> Deny from all </Files> ну или <Files style.css> Deny from all </Files> то мы конечно запретим не только просмотр но и сайт сам файл видеть не будет. Хотелось бы чтонить в роде такого запрета http://l2maxi.ru/.htaccess

Добавил: lenny (24-May 2010 14:21:42)

Как запретить доступ ко всем папкам кроме одной?

Добавил: TriBal (06-May 2010 0:00:00)

Можно ли обойти запрет на сайте и добраться до нужного файла? я попал на сайт чтобы это найти))) просто одны чтука нужна очень...подскажите что нибуть плиз!!!


Добавление комментария:

Имя *:

Email:

Текст *:

Символы на картинке *:

RSS-подписка
RSS-подписка на статьи по основам сайтостроения RSS-подписка на полезные уроки по web-языкам
Разделы статьй
Каталог товаров
Разделы уроков
Последние статьи
Последние уроки