2.7.1.1.6. Обмеження доступу за IP-адресою

Увага!

Директиви в .htaccess не працюють для файлів, розширення яких вказані в списку статичних файлів.
Для обмеження доступу через панель керування див. Чорний список IP.

Директиви потрібно розміщувати у файлі .htaccess у каталозі сайту, доступ до якого потрібно обмежити. Відвідувачі з обмеженим доступом будуть отримувати відповідь 403.

У прикладах директив:

  • XXX.XXX.XXX.XXX — IP-адреса, для якої потрібно дозволити або заборонити доступ.
  • admin/login/ — сторінка, до якої буде обмежений доступ. Повна адреса буде виглядати так — http://example.com/admin/login/.
  • Вказувати відразу кілька адрес у директивах Order можна кількома способами:
    • Окремі адреси — кожна адреса з нового рядка у вигляді Allow from XXX.XXX.XXX.XXX.
    • Діапазони адрес:
      • У вигляді маски підмережі (наприклад, 123.213.0.0/16, що відповідає діапазону адрес 123.213.0.0-123.213.254.254).
      • За допомогою символу зірочки * для частини адреси (наприклад, 123.213.*.*).
  • Вказувати відразу кілька адрес у директивах Rewrite можна за допомогою регулярних виразів:
    • Окремі адреси:
      • У вигляді (a|b|c), де a, b і c — це різні адреси.
      • Кожна адреса з нового рядка у вигляді RewriteCond %{REMOTE_ADDR} !^XXX\.XXX\.XXX\.XXX$.
    • Діапазони адрес — у вигляді \d{1,3} замість одного з блоків IP-адреси (наприклад, !^123\.213\.\d{1,3}\.\d{1,3}$, що відповідає діапазону адрес 123.213.0.0-123.213.254.254).

Обмеження доступу до всього сайту за допомогою директив Order Allow,Deny:

Order Deny,Allow
Deny from all
Allow from XXX.XXX.XXX.XXX

Обмеження доступу до сторінки за допомогою директив Rewrite:

RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^XXX\.XXX\.XXX\.XXX$
RewriteRule ^admin/login/? - [F,NC]

Обмеження доступу до всього сайту за допомогою директив Order Allow,Deny:

Order Allow,Deny
Allow from all
Deny from XXX.XXX.XXX.XXX

Обмеження доступу до сторінки за допомогою директив Rewrite:

RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^XXX\.XXX\.XXX\.XXX$
RewriteRule ^admin/login/? - [F,NC]
Зміст