Запрет доступа по IP через .htaccess

Иногда нужно заблокировать ip нежелательным личностям, это можно осуществить при помощи .htaccess. Синтаксис ниже разрешает доступ к сайту всем, запрещаем определенным IP-адресам:

Order allow,deny
allow from all
deny from 000.000.000.0
  • Order Allow,Deny — обрабатывает вначале разрешающее правило allow, а затем запрещающее deny.
  • Order Deny,Allow — обрабатываются вначале запрещающие deny, а потом разрешающие allow.

Примечание: Обязательно проверяйте корректность синтаксиса, в противном случае, велик риск получить ошибку 500 на сайте.

Бывают случаи, когда нужно запретить доступ со всех адресов, кроме нужных. Это можно выполнить добавлением следующего кода в файл .htaccess:

Order Deny,Allow
Deny from all
Allow from 000.000.000.0

Если вам нужно заблокировать всем доступ к определённой части сайта (например административной части), файл .htaccess должен располагаться непосредственно в этом разделе, например для сайта на WordPress, это будет директория wp-admin.

Order Allow,Deny

Но если нужно разрешить доступ к данной директории, определённым ip адресам, тогда конструкция в файле .htaccess, будет выглядеть следующим образом:

Order Allow,Deny
Allow from 000.000.000.00

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

<Files .htaccess>
order deny, allow
deny from all
</Files>

Для предоставления доступа к файлу, с определённых ip, синтаксис будет таким:

<Files .htaccess>
order deny, allow
deny from all
allow from 000.000.000.00
</Files>

В данном примере, устанавливается запрет, на определённые группы файлов (gif и png):

<FilesMatch "\.(gif|png)$">
Order Deny,Allow
Deny from all
Deny from 000.00.00.0
</FilesMatch>

Примечание: Если у вас установлена связка nginx + apache, то для того, чтобы данные конструкции работали, потребуется установка и настройка дополнительных модулей, mod_rpaf или remoteip. Они нужны для того, чтобы передавалась верная переменная REMOTE_ADDR в которой содержится реальный ip клиента, а не локальный web-сервера.

This site is using cookie files, Google Analytics system to collect statistics about website visitors and also collects data like your IP and geolocation. More in our policy.
By continuing to use current website you are automatically agreed with using described technologies.