Ограничение доступа к админ-панели по ip-адресу

Чтобы ограничить доступ к странице авторизации по ip-адресу сперва необходимо узнать свой ip-адрес. Сделать это можно, например, с помощью сайта 2ip.ua.

Чтобы установить ограничение потребуется внести изменения в файл .htaccess

Файл .htaccess — это файл дополнительной конфигурации веб-сервера.

Файл (или файлы) .htaccess будет задавать правила работы веб-сервера
только в каталоге, где он размещен и его дочерних каталогах, без глобальных изменений работы всего сервера. 

При каждом обращении к веб-серверу, Apache будет просматривать все каталоги на наличие .htaccess.
Изменения в файле действительны сразу после сохранения —перезагрузка всего веб-сервера не нужна.

Можно прописать запрет доступа к определенной папке в глобальном  .htaccess, но, на мой взгляд, самый простой способ поставить ограничение доступа к админ-панели – это создать файл  .htaccess  в папке админки. У WordPress это wp-admin, у Drupal — user, у Prestashop — admin999 и т.д. (если имя папки не было изменено при установке).

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

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

#Запрет с 16:18 31-03-2011
Order allow,deny
allow from all
Deny from 198.69.132.24

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

Order deny,allow
deny from all
# Список IP через пробел, с которых доступ разрешен
Allow from 194.111.70.48 194.78.47.128

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

# разрешенные адреса 
SetEnvIf Remote_Addr "^91\.221\.252\.11" realremoteaddr
SetEnvIf Remote_Addr "^91\.221\.252\.13" realremoteaddr
Order Deny,Allow
Deny from all
allow from env=realremoteaddr

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

# неполный адрес
198.69.
# полные адреса, соответствующие первому
198.69.132.24
198.69.136.89
198.69.1.8

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

#Запрет с 06:18 31-03-2011
Order allow,deny
allow from all
Deny from 198.69.

Далее, если нам нужно закрыть доступ только к определенной папке (на примере Wordpress — wp-admin):

# Указываем папку, к которой запрещаем доступ
<Directory /wp-admin/>
Order allow,deny
# Всем, кроме ...
allow from all
Deny from 198.69.
</Directory>

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

# Указываем папку, к которой запрещаем доступ по имени хоста и его IP
<Directory /wp-admin/>
Order deny, allow
deny from all
#Адреса записываются через пробел
Allow from 198.69.144.98 198.69.144.94 198.69.144.92
</Directory>

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

# Указываем папку, к которой запрещаем доступ по имени и IP
<Directory /wp-admin/>
Order allow,deny
# Всем, ...
allow from all
# ... кроме имя хоста и его IP
Deny from robot.fromx.com 148.145.21.14
</Directory>

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *