Чтобы ограничить доступ к странице авторизации по 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>