УрокЗакрываем доступ к сайту определённым IP адресам

На протяжении последних нескольких месяцев в источниках посетителей наблюдаю сервис http://checks.panopta.com. По заявлению создателей - это сервис, который постоянно пингует сайт, проверяя на доступность. По совету xandeadx, я решил закрыть этому сервису доступ к своему сайту. Делается это в два этапа:

Узнаём IP адрес сайта

Банить надо по айпишнику, поэтому для начала его надо узнать :) Можно пользоваться разными whois-серсисами, однако мне проще открыть консоль пингануть сайт:

ping checks.panopta.com

Ответ я получу с ip адреса сайта.

ping.jpg

Теперь копируем ip адрес и переходим к следующему этапу.

Добавляем IP в список запрещённых

В корне Друпала лежит файл .htaccess. По умолчанию доступ к сайту есть у всех. Но в данной ситуации надо у одного ip адреса этот доступ забрать. Поэтому дописываем в начало файла:

Order allow,deny
allow from all
deny from 66.228.52.108

Теперь всех запросы, которые будут идти с ip 66.228.52.108 апач будет посылать лесом, а я буду спать спокойно.

Дополнение

В Drupal 7 в settings.php появилась возможность добавлять список айпишников для бана. За это отвечает переменная $conf['blocked_ips'].

$conf['blocked_ips'] = array(
  '66.228.52.108',
);

Принцип работы следующий: каждый раз при загрузке страницы Друпал вытягивает из таблицы {blocked_ips} список блокированных ip адресов. Для таких адресов загрузка тем, модулей и т.д. производиться не будет. Кстати, если можно указать такую конфигурацию блокированных адресов:

$conf['blocked_ips'] = array();

В этом случае блокировка пользователей по ip адресам будет отключена.

Однако на высоконагруженных проектах лучше избегать даже этого проверяющего запроса перед загрузкой сайта. Поэтому я всё же рекомендую пользоваться первым вариантом - блокировать пользователей не поднимая php и mysql.

Комментарии

Аватар пользователя impol
impol написал:

а расскажи про

# $conf['blocked_ips'] = array(
# 'a.b.c.d',
# );

в settings.php

02.11.2011 22:59
Аватар пользователя Spleshka
Spleshka написал:

дописал

02.11.2011 23:20
Аватар пользователя Pashen
Pashen написал:

Спасибо. Сайт воистину заиграл по новому!!

03.11.2011 11:00
Аватар пользователя Марк
Марк написал:

Еще можно закрыть доступ для всех адресов начинающихся например с 66.228...
Если кому интересно можете почитать мою статью:
htaccess запретить доступ

12.02.2012 14:35
Аватар пользователя Дмитрий
Дмитрий написал:

Возможно вам покажется интересным этот пост: http://litl-admin.ru/linux/banim-podnebesnuyu-kak-zakryt-dostup-na-sajt-dlya-celoj-strany.html
Так я блокировал доступ на сайт для Китая. Чем этот метод лучше - не нагружает веб-сервер лишними проверками, так как в случае ДДОС-а сайт "ляжет"

12.11.2014 10:56
Аватар пользователя Roman
Roman написал:

Привет, а если первый вариант не работает и вредный айпишник каждый день стоит на пороге сайте и ковыряет его - как ещё его можно запретить на WP

29.01.2017 14:32

Комментировать