Марат-блог
Услуги по продвижению и разработке сайта
Отправить заявку
Заказать обратный звонок

Спасибо, Ваша заявка принята.

В ближайшее время менеджер свяжется с Вами.

Главная » Инструкции » Web » htaccess запрещение доступа в конкретную директорию

htaccess запрещение доступа в конкретную директорию

    1. для всех ко всем файлам в директории:
      deny from all
      
    2. к конкретному файлу:
      <Files secret.php>
      deny from all
      </Files>
      
    3. по ip пользователя:
      order deny,allow
      deny from all
      allow from 192.152.37.125
      
      Доступ в данную директорию будет разрешён только пользователю с ip 192.152.37.125.

      А если хотите наоборот, запретить отдельным ip пользователям доступ к вашему сайту, то пропишем следующие строчки:

      <Limit GET POST PUT>
          order allow,deny
          allow from all
          deny from 192.152.37.125
          deny from 123.456.177
      </LIMIT>
    4. Директива Options -Indexes - запрет на отображение содержимого каталога при отсутствии индексного файла Иногда нужно сделать так, чтобы в случае отсутствия в каталоге файла, который показывается по умолчанию, не выдавался список файлов в каталоге. Тогда можно добавить в .htaccess такую строчку :
      Options -Indexes
      
      В этом случае вместо списка файлов в каталоге посетитель получит HTTP ошибку 403 - access forbidden.
    5. Запретить доступ к файлам с несколькими типа расширений
<Files ~ "\.(inc|conf|cfg)$">
    deny from all
</Files>

Запрещен доступ к файлам с расширением *.inc, *.conf и *.cfg. Хотя директива, по умолчанию, не работает с регулярными выражениями, но их можно включить поставив символ тильды(~) в опциях директивы. Синтаксис следующий:

      [тильда] [пробел] [далее_все_без_пробелов] Чтобы блокировать этот доступ, запишем следующее:
RewriteRule ^.htaccess$ - [F]
      Это правило переводится так:

 

      Если кто-то пробует обращаться к файлу .htaccess, система должна произвести код ошибки 'HTTP response of 403' или '403 Forbidden - You don't have permission to access /.htaccess on this server'.

Конструкция ^.htaccess$ в этом регулярном выражении означает:
^ - якорь начала строки
$ - якорь конца строки
. - в регулярных выражениях точка '.' обозначает мета-символ и должна быть защищена обратным слэшем (backslash), если Вы все-таки хотите использовать именно фактическую точку.

Имя файла должно быть расположено точно между начальным и конечным якорем. Это будет гарантировать то, что только это определенное имя файла и никакое другое, сгенерирует код ошибки.
[F] - специальный 'запрещающий' флажок (forbidden).
[NC] - не учитывать регистр букв.
[OR] - означает 'или следующее условие'.