Интернет - справочник для веб-мастеров
    441-847-152
     
 
 
php, javascript,ajax,mysql,TIGER CMS
  Для начинающих
php, javascript,ajax,mysql,TIGER CMS
  Общие
php, javascript,ajax,mysql,TIGER CMS
  Безопасность
php, javascript,ajax,mysql,TIGER CMS
  Интересное
php, javascript,ajax,mysql,TIGER CMS
  Новости PHP
php, javascript,ajax,mysql,TIGER CMS
  PHP + AJAX
php, javascript,ajax,mysql,TIGER CMS
  JavaScript
php, javascript,ajax,mysql,TIGER CMS
  Дизайн
php, javascript,ajax,mysql,TIGER CMS
  Раскрутка
php, javascript,ajax,mysql,TIGER CMS
  Заработок
php, javascript,ajax,mysql,TIGER CMS
  Советы

   
 

   
 
  SEO статьи HTML, как раскрутить сайт
1. Рейтинг сайтов



 
 
  Всего статей: 405
  Опубликовано: 405
  Проверяються: 0
  Добавлено сегодня: 0
-------------------------------------
  Прочитано статей: 405
  Всего прочтений: 181067
-------------------------------------
  Сейчас читают: 1 чел.


 

Защита сайта. Блокировка ip адреса [Версия для печати]
Разместил: admin . Раздел: Безопасность. Опубликовано: 07-28-2007 09:49:28
Сейчас в интернете очень активно спамят посещаемые и не очень интернет-ресурсы различных направлений и тематик. Несмотря на множество всевозможных способов защиты, расположенных на большинстве сайтов, спамеров остановить не всегда получается. Иногда они вручную или в полуавтоматическом режиме заполняют формы в гостевых, форумах, комментариях..., причем настолько нагло рекламируют себя или свой сайт, что диву даешься от их беспринципности. И от таких посягательств на "чистоту" вашего контента, а как следствие и сайта в целом, зачастую спасает только блокировка ip адреса спамера. На мой взгляд, блокировка по ip - очень эффективный метод борьбы со спамом, но применять его можно только в крайних случаях, например, когда с одного и того же ip вас спамили больше двух-трех раз. Использовать этот метод нужно крайне осторожно, дабы случайно не закрыть доступ к вашему сайту для поисковых машин, которые составляют основную часть трафика любого сайта.

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

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

<?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 непосредственно в скриптах отвечающих за добавление сообщений пользователей на ваш сайт, а не повсеместно, данный вариант иногда бывает даже лучше.
Источник: http://www.internet-technologies.ru/   Прочитана 707 раз.
  Закладки:  
     
     
     
Google
 




     
Copyright 2007 by bvisoft.com