Как ограничить доступ к сайту по IP-адресу через .htaccess

Ограничение доступа по IP-адресу — один из простейших и эффективных способов защитить сайт от нежелательного трафика, спама и атак. В этом руководстве рассмотрены директивы Apache для блокировки и разрешения IP, включая поддержку IPv6.
Основной синтаксис директив в .htaccess
Для управления доступом к сайту на уровне Apache используются директивы Order, Allow и Deny:
Order Deny,Allow Deny from all Allow from 192.168.0.1Order Allow,Deny Allow from all Deny from 123.45.67.89Значение Order определяет приоритет:
Deny,Allow— сначала блокировка, затем разрешения.Allow,Deny— сначала разрешения, затем блокировки.
Блокировка по конкретному IPv4-адресу
Чтобы запретить доступ с определённого IP:
# Запрет доступа с IP 298.169.132.24 Order allow,deny Deny from 298.169.132.24Для сохранения доступа всем остальным:
Order allow,deny Allow from all Deny from 298.169.132.24Блокировка по маске IPv6
Для ограничения диапазонов IPv6 используется синтаксис с масками:
Order allow,deny Allow from all Deny from 2a00::/16 2a01::/16 2a02::/16 2a03::/16 2a05::/16 2a06::/16 Deny from 2a07::/16 2a09::/16 2a0a::/16 2a0b::/16 2a0e::/16 2a0f::/16 Deny from 2a10::/16 2a11::/16 2a12::/16 2a13::/16Этот список часто применяется для фильтрации IPv6-прокси, дата-центров или стран по умолчанию.
📌 Для расчёта масок удобно использовать онлайн-инструмент IPv6 калькулятор подсетей.