Htaccess доступ с определенного ip

Ограничение доступа по IP позволяет быстро и безболезненно запретить или ограничить доступ к сайту определенным IP адресам или целым подсетям.

Фильтрация

Многим людям, в какие-то моменты жизни сайта, приходится прибегать к ограничению доступа или блокировки трафика по IP адресам. Ситуаций может быть масса: от блокировки паразитного трафика, и, до предоставления доступа определенным лицам.

Ограничение доступа

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

Синтаксис для этих директив таков:

Данный код запретит доступ для всех, кроме сети 192.168.0.0/24, всех хостов, DNS имя которых содержит .localnet, а также хоста, DNS имя которого admin.somewhere.in.the.net.

Если нужно запретить доступ группе хостов, используется Allow,Deny:

Смысл предельно прост. Посредством Order определяется порядок обработки правил allow/deny; если мы возьмем второй пример, то сначала сервер обработает правило allow from all, а затем хосты, которые прошли это правило, подвергаются проверке правилом deny; при этом все хосты из сети 192.168.1.0/24 и хост hackers.are.everywhere.in.the.net не проходят эту проверку и не получают доступа.

Более сложные применения:

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

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

Для запрета доступа к папке сайта используются директивы allow и deny.

Если необходимо запретить доступ с определенного IP-адреса — это будет выглядеть так:

Закрыть доступ ВСЕМ, кроме определенных IP:

В случае, если необходимо закрыть доступ по маске то используем неполный адрес:

Таким образом, если необходимо закрыть доступ по маске:

Далее, если нам нужно закрыть доступ только к определенной папке:

Разрешение доступа только с определенных IP к определенной папке (адреса записываются через пробел):

Также есть возможность указывать в одном списке и хост-имя и IP-адрес:

Оцените статью
Много толка
Добавить комментарий