Понедельник, 29.04.2024
Рубежное .com
Социальный ресурс города
     Шрифт - Шрифт + [ Новые сообщения · Поиск · Правила форума · Участники · RSS · Новое на форуме ]    

  • Страница 1 из 1
  • 1
Форум Рубежного » Интернет » Вебмастеру » Защита сайта. Блокировка по ip
Защита сайта. Блокировка по ip
RQ Дата: Суббота, 28.08.2010, 18:23 | Сообщение # 1
Уважаемый
Сообщений: 5542

Сейчас в интернете очень активно спамят посещаемые и не очень интернет-ресурсы различных направлений и тематик. Несмотря на множество всевозможных способов защиты, расположенных на большинстве сайтов, спамеров остановить не всегда получается. Иногда они вручную или в полуавтоматическом режиме заполняют формы в гостевых, форумах, комментариях…, причем настолько нагло рекламируют себя или свой сайт, что диву даешься от их беспринципности. И от таких посягательств на "чистоту" вашего контента, а как следствие и сайта в целом, зачастую спасает только блокировка ip адреса спамера. На мой взгляд, блокировка по ip – очень эффективный метод борьбы со спамом, но применять его можно только в крайних случаях, например, когда с одного и того же ip вас спамили больше двух-трех раз. Использовать этот метод нужно крайне осторожно, дабы случайно не закрыть доступ к вашему сайту для поисковых машин, которые составляют основную часть трафика любого сайта.

В этой статье рассмотрен простейший php-скрипт, который имеет два уровня защиты сайта: предупреждение спамера о том, что ему не поздоровится, если он еще раз наспамит и полная блокировка доступа к сайту по ip. Единственным минусом блокировки по ipявляется то, что спамер может пользоваться бесплатным и общедоступным прокси-сервером, и если забаннить сервер с этим ip, то к вашему сайту не смогут получить доступ и те, кто использует его исключительно в мирных целях. Поэтому прежде чем банить смотрите, кто есть кто через сервис whois.

А вот и сам php-код простейшего скрипта для блокировки пользователя по ip:

Code
<?php
/* http://wm-help.net/ */
/* Сообщение при банне ip */
define("bann_message", "Для вашего IP: %ip% доступ к сайту закрыт.");
   
/* Предупреждение о возможности банна по ip */
define("wrong_message", "Вы предупреждены администратором данного сайта о возможной блокировке вашего IP: %ip% в случае дальнейшего нарушения правил.");
   
/* массив с ip и типом блокировки. в ключе массива IP, в значении тип блокировки */
$bann_array = array(
                     "195.66.203.247"=>"bann", // реальный плохой IP
                     "220.94.220.60"=>"bann",  // реальный плохой IP
                     //"127.0.0.1"=>"wrong"      // Test
                     );
   
/* Функция для почти 100% определения IP адреса посетителя. */
/* Перебирает все возможные переменные с IP. */
function _ip()
{
   if(isset($HTTP_SERVER_VARS)) {
     if(isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])) {
     $realip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
     }elseif(isset($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])) {
       $realip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
     }else{
       $realip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
     }
   }else{
   if(getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
     $realip = getenv( 'HTTP_X_FORWARDED_FOR' );
   }elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
     $realip = getenv( 'HTTP_CLIENT_IP' );
   }else {
     $realip = getenv( 'REMOTE_ADDR' );
   }
}
return $realip;
}
   
/* Определяет, что делать с владельцем того или иного ip адреса */
function bann_on_not_to_bann()
{
     global $bann_array; // получаем массив с ip адресами
     $user_ip = _ip();   // получаем ip
   
/* разбираем массив на ключ и значение */
foreach($bann_array as $ip=>$type)
{
     if ($ip == $user_ip) // проверяем
     {
         switch($type) // если ip совпал то смотрим что делать
         {
             case "wrong": // предупреждение
             {
                 echo str_replace("%ip%", $user_ip, wrong_message); // выводим предупреждение
                 break; // выход из switch
             }
             case "bann": // блокировка
             {
                 die(str_replace("%ip%", $user_ip, bann_message)); // Сообщение о том, что доступ закрыт + завершение работы php
                 // break не требуется т.к. дальше уже ничего не выполняется
             }
         }
     }
}
}
   
/* проверяем владельца ip и блокируем\предупреждаем если это спамер */
bann_on_not_to_bann();
?>

Для того, чтобы использовать данный скрипт блокировки ipадресов создайте php-файл ip_bann.php и поместите в него весь код скрипта, который вы видите выше. Затем в самом начале основного скрипта, обычно это index.php допишите строчку:

include 'ip_bann.php';

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

Источник


Так называемые парадоксы автора, шокирующие читателя,
находятся часто не в книге автора, а в голове читателя.
 
RQ Дата: Суббота, 28.08.2010, 18:24 | Сообщение # 2
Уважаемый
Сообщений: 5542

Работает cool

Так называемые парадоксы автора, шокирующие читателя,
находятся часто не в книге автора, а в голове читателя.
 
Ghisool Дата: Четверг, 02.09.2010, 18:28 | Сообщение # 3
Бывалый
Сообщений: 347

Можно просто глянуть с какого ИП спамят и в htaccess запретить ему доступ: Deny from 123.456.78.9 smile

«Мои покупки» — магазин книг с доставкой по Украине
 
Art Дата: Пятница, 03.09.2010, 00:17 | Сообщение # 4
Наблюдатель
Сообщений: 8669

Как по мне ныне любой спамер имеет целый массив ip адресов.
Читал я описания спамерских программ - у них давно предусмотрено это.

Ну и опишу мои методы борьбы со спамом:
Для wordpress - плагин Akismet thumb
Работает через список урлов спамеров, по этому отлично работате как против ручного спама, так и автоматического.

Для uCoz, хотя в принципе этот метод подойдёт для других движков.
Я просто изменил форму оставления комментария убрав домашнюю страницу.
Щас проблемы со спамом минимальные.


Не молчи на меня.
Правила форума
К чему приводят споры с модератором
 
RQ Дата: Пятница, 03.09.2010, 11:21 | Сообщение # 5
Уважаемый
Сообщений: 5542

Quote (Art)
Как по мне ныне любой спамер имеет целый массив ip адресов.

Ну,я таки не знаю насчет массивов,но вот появлялись спамеры недавно на сайте ,так через пхп сделал,внес полтора десятка айпи,и все - теперь тишина недели 2 уже... wink


Так называемые парадоксы автора, шокирующие читателя,
находятся часто не в книге автора, а в голове читателя.
 
Ghisool Дата: Суббота, 04.09.2010, 12:00 | Сообщение # 6
Бывалый
Сообщений: 347

Да, нормальные спамеры работают через прокси которых может быть очень много, поэтому бан по ИП может ничего не дать. Хорошая капча на сложение, а лучше 2 smile могут вырулить ситуацию.

«Мои покупки» — магазин книг с доставкой по Украине
 
RQ Дата: Суббота, 04.09.2010, 12:24 | Сообщение # 7
Уважаемый
Сообщений: 5542

есть и капча wink

Так называемые парадоксы автора, шокирующие читателя,
находятся часто не в книге автора, а в голове читателя.
 
Ghisool Дата: Суббота, 04.09.2010, 13:10 | Сообщение # 8
Бывалый
Сообщений: 347


нужно такую ставить:)

или такую wacko


«Мои покупки» — магазин книг с доставкой по Украине
 
RQ Дата: Суббота, 04.09.2010, 14:07 | Сообщение # 9
Уважаемый
Сообщений: 5542

biggrin biggrin

Так называемые парадоксы автора, шокирующие читателя,
находятся часто не в книге автора, а в голове читателя.
 
dfdf Дата: Понедельник, 29.04.2013, 01:55 | Сообщение # 10
В том скрипте уязвимость
Можно передать в заголовке вместо ip любой код
защита никудышная, нужно использовать сессионный бан
тогда даже при смене ip бот будет забанен
 
Art Дата: Понедельник, 29.04.2013, 09:38 | Сообщение # 11
Наблюдатель
Сообщений: 8669

Цитата (RUSUA)
абсолютно верно сказал dfdf.

Сказал спамер, причем злостный.


Не молчи на меня.
Правила форума
К чему приводят споры с модератором
 
Форум Рубежного » Интернет » Вебмастеру » Защита сайта. Блокировка по ip
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Последние темы Читаемые темы Лучшие пользователи Новые пользователи

Скрипты и хаки для Opera

(12)

Компания Apple презентовала две новые модели iPhone

(2)

Новая жжизнь без трусов

(4)

Страшная правда о майдане

(2)

В Украине изменились правила междугородного набора

(3)

Тут не рады людям ?

(2)

Как завязывать галстуки

(2)

Разбил порша в Северодонецке

(6)

Русский феминизм - бессмысленный и беспощадный

(12)

Брестская крепость

(1)

Мэр Козюберда К.Г. - и его команда. Слова и дела...

(1355)

Новый мэр

(1068)

Болтовня о Рубежном.

(1026)

Почем нынче вода у Рубежанского ВОДОКАНАЛА...

(1021)

ЗЕМЛЯ ГРОМАДЫ или ЧАПОВОЙ - вот в чём вопрос !

(951)

Проблема отопления квартир рубежан.

(793)

Рубежанский сервер обновлений антивирусных баз NOD32

(773)

Магазины города Рубежное

(718)

Юридический ликбез для водителей

(648)

Мэр .......... и его команда

(616)

  • Art
  • RQ
  • Chuvirlol:)
  • Zolotaya
  • Kiss19
  • Fill
  • Kanaplist
  • МАСТЕРМАГ
  • Sender
  • sergg
  • antares
  • FsnatR
  • Axel
  • Серёня
  • гость2011
  • Jiolavera24
  • Vestaya
  • vadim29
  • Васильевич8
  • kukusya
  • Vanopilot22
  • jinebi9590
  • treffy
  • cksosever
  • Alex_Prat
  • dragonga
  • juretzpolejko
  • vera0000
  • token
  • MarkMenson

  • Copyright rubezhnoe.com © 2008-2024


    Рейтинг сайтов Луганска и Луганской области