Как ограничить доступ к сайту по IP-адресу?
Светлана, Томск 0
На сайт постоянно долбится один и тот же IP с подбором паролей в админку, хостинг посоветовал заблокировать его. Как это правильно сделать, чтобы не отрезать заодно живых посетителей и себя самого при смене адреса?
Дмитрий Акиндинов технический администратор сайтов
ответил
Доступ по IP-адресу закрывают правилом в файле .htaccess на Apache-хостинге — строкой вида Require not ip 1.2.3.4 в блоке доступа к нужной папке, или через раздел firewall в панели хостинга, если провайдер даёт такой инструмент без правки файлов. Правило действует мгновенно после сохранения и не требует перезапуска сервера.
Если задача — закрыть только вход в админку, а не весь сайт, ограничение ставят на папку wp-admin (в WordPress) или аналогичный административный раздел CMS, а не на корень домена. Так посетители сайта продолжают его видеть, а вход в панель управления доступен только с разрешённых адресов — это стандартный приём против перебора паролей ботами.
Два рабочих варианта в .htaccess:
- заблокировать конкретный адрес: Require not ip 1.2.3.4 — подходит для разового атакующего IP;
- разрешить только свои адреса, а остальным закрыть доступ: Require ip 5.6.7.8 — надёжнее, но требует знать все IP, с которых заходят легитимные пользователи, включая мобильный интернет и работу из дома.
Главный риск второго варианта — у обычного домашнего или мобильного интернета IP-адрес часто динамический и меняется при переподключении роутера. Заблокировав доступ по конкретному адресу, легко на следующий день обнаружить, что сами же не можете войти в собственную админку. Для постоянной защиты вместо жёсткой блокировки по IP лучше подойдёт плагин с лимитом попыток входа — он банит на время, а не навсегда, и не завязан на статичный адрес.
Задать свой вопрос
Вопросы проходят модерацию. Ответ появляется на сайте в течение пары дней.
Вопрос отправлен. После проверки он появится на сайте вместе с ответом.
Вопрос не отправлен: нужно подтвердить согласие на обработку персональных данных.