Поддержка и абонентское обслуживание

Как заблокировать доступ на сайт по IP?

Станислав, Пермь 0

С одного и того же адреса постоянно долбят форму заявки на сайте спамом, встроенный антиспам не справляется. Хочу просто закрыть доступ этому IP, но не знаю, где и как это делается технически.

Дмитрий Акиндинов технический администратор сайтов

ответил

Проще всего заблокировать IP на уровне сервера. Если хостинг работает на Apache, в файл .htaccess в корне сайта добавляют строку «Require not ip 1.2.3.4» — это синтаксис Apache 2.4, актуальный сейчас на большинстве хостингов; в старых версиях (2.2) использовалась конструкция «Deny from 1.2.3.4». Для nginx блокировка делается в конфиге сайта директивой «deny 1.2.3.4;», но её обычно нельзя прописать самому через FTP — нужен доступ к конфигурации сервера или помощь хостинг-провайдера.

Блокировать можно не только один адрес, а целую подсеть — например, «Require not ip 1.2.3.0/24» закроет доступ сразу 256 адресам этого диапазона. Это удобно, если атака идёт с провайдера, у которого адреса меняются в пределах одной подсети, а не с одного конкретного IP.

У способа есть ограничение: если у атакующего или спамера динамический IP, который меняется при каждом переподключении к интернету, блокировка конкретного адреса перестаёт работать уже через несколько часов. В таких случаях эффективнее не гоняться за IP вручную, а подключить сервис вроде Cloudflare на бесплатном тарифе — он фильтрует подозрительный трафик по поведению, а не только по адресу, и блокирует автоматически.

Перед тем как сохранять правило, стоит дважды проверить свой собственный IP через поиск по фразе «мой ip» — при опечатке в .htaccess легко заблокировать самого себя или весь свой офис, если IP статический и общий на всю сеть.

Подробный разбор Ошибка 403 Forbidden на сайте: причины и как вернуть доступ

Задать свой вопрос

Вопросы проходят модерацию. Ответ появляется на сайте в течение пары дней.

Похожие вопросы

Все вопросы по теме "Поддержка и абонентское обслуживание"

Заявка

Обсудим задачу

Напишите имя и телефон, выберите удобный канал. Перезвоню или напишу в течение часа в рабочее время.

Куда удобнее ответить?