САМОСТОЯТЕЛЬНОЕ СОЗДАНИЕ САЙТА, ЕГО РАСКРУТКА, ОПТИМИЗАЦИЯ И ПРОДВИЖЕНИЕ
Главная  
Про проект  
Книги  
Обмен ссылками  
Сервис  
Добавить статью  
Главная
Про проект
Книги
Обмен ссылками
Сервис
Добавить статью
Главная
dragon
Статьи в разделе:
Примеры PHP/Javascript
всего статей (5)

» Защита js кода
» Отправка почты на PHP
» Создание часов
» Защита от спама
» Резолюция дисплея на Javascript



Полезные ссылки

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"];

?>

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

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

<?php

$ref=getenv("HTTP_REFERER");

?>

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

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

<?php

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

?>

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

   Вот пожалуй и все, надеюсь перечисленные выше способы защиты ваших страниц от спама помогут Вам.

Коментариев к статье (0)
Д О Б А В И Т Ь    К О М М Е Н Т А Р И Й:
   Ваше имя:
   
   Почтовый ящик @:
    * - не отображается
   Текст комментария:
   

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

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

                                                                                                                                                                                                                                                                                                                                                                                 
Авторизация

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


















 
Семен Горбунков. Все права защищены, 2007-2008рр. Статистика: всего статей 50, на модерации 0, комментариев 27, всего ссылок 10, новых 1, выполнено за 0.03 sec.