Как защитится от спам-роботов
Главная  
Про проект  
Книги  
Обмен ссылками  
Сервис  
Добавить статью  
Главная
Про проект
Книги
Обмен ссылками
Сервис
Добавить статью
Главная
dragon
Статьи в разделе:
Примеры PHP/Javascript
всего статей (9)

» Bcompiler расширение php
» Отладка скриптов в php
» Авторизация на sape.ru
» Cокеты в php
» Защита js кода
» Отправка почты на PHP
» Создание часов
» Защита от спама
» Резолюция дисплея на Javascript

Другие разделы:
    Подготовка к созданию сайта
    Установка програм
    Пример создания сайта
    Хостинг и домен
    Оптимизация сайта
    Раскрутка сайта
    Заработок Web-мастера

 
 
 
sape
 
Кнопка сайта:
Самостоятельное создание сайта, веб-дизайн, web-программирование, продвижение и оптимизация сайта




По всем вопросам пишите на webmaster@info-pages.com.ua. Вы можете свободно использовать/размещать/перепечатывать статьи сайта всего лишь указав ссылку на источник.
Как защитится от спам-роботов
  

   Защита от спам-роботов

Размещено: 24 июля 2008   
   Спам-роботы, на сегодняшний день, по уровню технологий достигают высоких вершин. Спам-роботы, каждый день усовершенствуются и засоряют сайты различной информацией. Целью спам-робота является размещение на сайте ссылки на некоторый ресурс или тематической информации. Однако, встречаются и просто добавление наборов символов (не имеющих смысла) и ссылок на несуществующие хосты. В любом случае, со спам-роботами нужно бороться.

   Принцып их работы приблизительно такой: сначала они анализируют всемирную паутину на поиск сайтов, подходящих им по определенным критериям. Потом, индексируют страницы сайта с формами (формы коментариев/сообщений). Далее следует анализ формы и ее защиты. Если спам-программа успешно добавляет данные в форму и они размещаются на странице, то такая страница попадает в общую базу данных для дальнейшего систематического добавление спама (от 1-3 раз в день).

   Защитить свой сайт полностью от проникновения нежелательной информации стало практически почти невозможным. И эффективно бороться со спамом можно, лишь используя комплекс эффективных мер.

   К, таким мерам можно отнести:

   1. использование капчи (капча - графический рисунок с изображением цифр/символов). Этот метод очень популярный и почти на каждом сайте вы можете найти различные формы для заполнения их посетителями использующие защитный код с помощью капчи. Вы, наверное, уже замечали насколько трудно иногда угадать посетителям, что же там изображено, настолько веб-мастера изощренно искажают цифробуквенный код. Это потому, что спам-роботы научились распознавать капчи. Если вы используете простую капчу, то шанс взлома формы возрастает.

   Пример написания простой капчи на php:

<?php

$nomer = rand("1000","9999");/* выбираем случайное число от 1000 до 9999*/
$imge = imagecreate("50", "15"); /*создаем рисунок в ширину 50 пикселей и высоту 15*/
$background_color = imagecolorallocate ($imge, 255, 255, 255);/*задаем рисунку цвет фона*/
$green = imagecolorallocate($imge,10,110,190);/* устанавливаем цвет текста для нашего рисунка*/
imagestring($imge,4,4,0,$nomer,$green);/*рисуем текст с такими параметрами: $imge(наш рисунок),4 (размер шрифта (от 1 до 5)),4 (отступ на 4 пикселя слева),0 (отступ в пикселях сверху),$nomer (текст),$green (цвет текста)*/
header("Content-type: image/jpeg");/* посылаем заголовок серверу про то, что мы передаем ему рисунок формата jpeg*/
imagejpeg($imge); /*выводим рисунок*/
imagedestroy($imge);/* освобождаем память*/

?>


   Путем добавления различных image-функций php, Вы можете значительно видоизменить свою капчу и повысить уровень безопасности своей формы.

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

   2. блокирование спамеров по ip-адресу. Этот способ может пригодится, если можно определить ip-адрес спамера, но, как правило, спам-роботы используют прокси-серверы и определить реальный ip не предоставляется возможным.

   Для определения ip-адреса можно использовать следующую функцию:

<?php

$ip = $_SERVER["REMOTE_ADDR"];

//однако если бот использует анонимные прокси-сервера, а так оно скорее и есть, то пределить реальный ip-адрес Вам поможет эта функция

function getip()
{
   if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown")) $ip = getenv("HTTP_CLIENT_IP");
   elseif (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) $ip = getenv("HTTP_X_FORWARDED_FOR");
   elseif (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) $ip = getenv("REMOTE_ADDR");
   elseif (!empty($_SERVER['REMOTE_ADDR']) && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) $ip = $_SERVER['REMOTE_ADDR'];
   else $ip = "unknown";
   return($ip);
}

$ip = getip();

?>


   3. блокирование спам-роботов с помощью параметра REFERER (адрес предыдущей страницы-источника откуда выполнен переход). Если этот параметр пустой значит робот-спам напрямую выполняет запрос к Вашей форме. Ведь большинство спам-роботов так и делают, они читают страницу лишь один раз, все остальные попытки добавления спама идет с помощью прямого обращения робота к серверу. Другими словами с прокси-сервера происходит отправка уже готового запроса к серверу и передаются уже наперед известные данные.

   Пример получения значения поля REFERER на php:

<?php

$referer = getenv("HTTP_REFERER"); //или
$referer = $_SERVER["HTTP_REFERER"];

?>


   4. блокировка/удаление спама с помощью фильтра текста на спам-слова.
   Данный вид защиты является самым эффективным. Весь переданный/полученный текст фильтруется на наличие спама по словосочетаниям и словам.
   Слабым местом спам-роботов является их ограниченный по смыслу спам-текст, в котором почти всегда повторяются одинаковые ключевые слова.
   Стоп-слова Вы можете занести в базу данных и проверять каждое сообщение/коментарий на их наличие используя функцию stristr (регистро-независимый вариант strstr).

   Пример проверки текста комментария на наличие спам-слова "casino":

<?php

if (stristr(html_entity_decode("Это текст комментария, здесь спам-робот может пригласить Вас сыграть в казиноcasino"),"casino") == true) {
   echo "Найдены элементы спама!"
} else {
   echo "Комментарий успешно добавлен!"
}

?>


   Как видно в примере, мы делаем проверку текста комментария/сообщения на наличие спама до того как добавляем в базу данных. Но, также, желательно делать проверку и после того как информация попала в базу данных, потому что спам-роботы могут изменять символьное представление текста через функции, чтобы Ваш фильтр не сработал и в тоже время, учитывая дальнейшую обработку текста сервером, в базу данных будет занесено слово/словосочетание аналогичное Вашему слову-спаму.
   Спам-роботы, также, могут передавать форме слова/словосочетания которые состоят из вариаций символов и кода символов html. Для того, чтобы перевести html код в символы используем функцию html_entity_decode.

   Вот пожалуй и все, надеюсь перечисленные выше способы защиты ваших страниц от спама помогут Вам.
Ваша оценка:
 kod
Проголосовать!
Спасибо, Вы успешно
проголосовали!
Ошибка скрипта,
сообщите администратору!
Ошибка,
неверный код!
Вы уже голосовали!
Текущий рейтинг: -2, проголосовало 8
Комментариев к статье (2)
Комментарий добавил: Alex 20:45 12.04.09
Спасибо благодарствуем за полезности
Комментарий добавил: андр 00:42 20.09.09
Внатуре работает щас передерем СПС
Д О Б А В И Т Ь    К О М М Е Н Т А Р И Й:
   Ваше имя:
   
   Почтовый ящик @:
    * - не отображается
   Текст комментария:
   



   Введите защитный код: :) :( ;) :| 8) :] :0 :S :Ok :sos :B B( yes boom write
   kod
   
 

Где еще почитать на эту тему?
 

                                                                                                                                                                                                                                                                                                                                                                                 
Авторизация

Логин:
Пароль:



















 
Все права защищены, 2007-2009рр. статей: всего 71, на модерации 245; комментариев: 331, ссылок: всего 15, новых 0; выполнено за 0.62 sec. Карта сайта