Обмеження доступу по IP дозволяє швидко заборонити або обмежити доступ до сайту певним IP адресам або цілим підмережам.
Досить часто доводиться вдаватися до обмеження доступу або блокування трафіку за IP адресами. Ситуації можуть бути різні: від блокування паразитного трафіку і до надання доступу певним особам.
Обмеження доступу
Засобами файлу .htaccess можна обмежити доступ до ресурсів сайту за адресами IP; наприклад, дозволити доступ до архіву лише користувачам з локальної мережі, або заборонити будь-якому хосту або мережі доступ до будь-якого контенту.
Синтаксис для цих директив такий:
OrderDeny,Allow# (або Allow,Deny – в залежності від того, що потрібно)Deny from all # (або адреса хоста)Allow from all # (або адреса хоста)
Наприклад:
OrderDeny,AllowDeny from allAllow from 192.168.0.Allow from .localnetAllow from admin.somewhere.net
Цей код заборонить доступ для всіх, крім мережі 192.168.0.0/24, всіх хостів, DNS ім'я яких містить .localnet, а також хоста, DNS ім'я якого admin.somewhere.net.
Якщо потрібно заборонити доступ до групи хостів, використовується Allow,Deny:
OrderAllow,DenyAllow from allDeny from 192.168.1.Deny from hackers.everywhere.net
За допомогою Order визначається порядок обробки правил allow/deny; якщо ми візьмемо другий приклад, спочатку сервер обробить правило allow from all, а потім хости, які пройшли це правило, піддаються перевірці правилом deny; при цьому всі хости з мережі 192.168.1.0/24 та хост hackers.everywhere.net не проходять цю перевірку і не отримують доступу.
Більш складні застосування:
Наведене вище правило заборонить будь-яким хостам доступ до файлів з розширеннями .txt і .dat (наприклад, у них можуть зберігатися внутрішні дані скриптів).