Всем физкульт-привет! Возник вопрос, ну и предложили задать его тут...
Как можно заблокировать доступ на сайт посетителю с определенного ip или даже страны? Подозреваю что меня пытаются взломать, хочу предусмотрительно защитить свой сайт.
6617
Ответы (4)
Блокировка конкретного IP-адреса или целого IP-адресов чаще всего достигается путем размещения в файле .htaccess директив блокировки.
К примеру, если мне требуется заблокировать доступ к моему сайту посетителю с IP-адресом 188.188.188.188, я размещу в папке своего сайта файл .htaccess и добавлю туда такую директиву:
Deny from 188.188.188.188
Соответственно, если нужно заблокировать несколько IP-адресов, файл будет выглядеть так:
Deny from 177.177.177.177
Deny from 188.188.188.188
Иногда перед этими директивами рекомендуется помещать значение Order Allow,Deny, обозначающее, доступ или блокировка предоставляются по-умолчанию.
При этом конечному посетителю сайта будет отображаться ошибка 403 Forbidden, а не содержимое сайта, что порой является полезным. В вашем случае это как раз подойдет.
Региональная защита, по сути, организуется идентичным образом, однако придется потрудиться и выяснить список подсетей, которые однозначно относятся к тому или иному региону.
Например, нужно заблокировать посетителей из Китая. Ну знаете вы что из Китая вряд ли зайдет заинтересованный читатель вашего блога или потенциальный покупатель интернет-магазина - нужно будет узнать в интернете список однозначно-китайских подсетей и аналогичным образом заблокировать их с помощью директивы Deny from.
Итоговое количество строк в .htaccess само собой вырастет, но это как раз нормально. Видели бы вы содержимое .htaccess на некоторых моих сайтах - черт ногу сломит если бы комментариев не делал.
Будут вопросы - пишите, вместе разберемся и найдем решение! :)
Вот о чем хотел напомнить. У поисковиков Яндекс, например, есть директива, с каким интервалом сканировать, чтобы не получать сообщения от ТП "Напоминаем, что Ваш аккаунт систематически оказывает чрезмерную нагрузку на сервер".