// codeart.ru / Офтопик / Спам и защита от него. Мой вариант решения проблемы. Форум

Спам и защита от него. Мой вариант решения проблемы. rss подписка

Автор: Evgeny Sergeev

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


За полтора года существования моего блога проблема спама достаточно остро встала только сейчас. На первых этапах спам не то, что не вызывал никакого раздражения, а скорее наоборот был единственным признаком того, что мой ресурс жив, что он работает и продвигается в позициях поисковых систем. А это вызывало только положительные эмоции. Достаточно длительное время я развлекался тем, что просматривал логи и искал признаки, по которым можно было определить кто обратился к странице - бот или человек.

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

Проанализировав ситуацию я пришел к выводу, что 70-80% отведенных мне ресурсов, безжалостно сжирают спамеры своими бесконечными рассылками. При этом установка хорошего спам-фильтра не снимает проблемы. Так как большенство фильтров скрывают факт поступления мусорного сообщения, но не блокируют IP адрес с которого приходят эти самые сообщения ( т.е. у спамера по прежнему есть возможность создавать нагрузку на мой сайт путем запроса различных страниц ресурса). Получается, что “болезнь” протекает в скрытой форме . В результате возникает ощущение, что это полезная нагрузка от пользователей, а не от бестолковых ботов.

Некоторое время я мерился с ситуацией. Но всему наступает предел. Поэтому я поставил себе задачу определять и блокировать все адреса хотя бы раз замеченные в рассылки спама на мой блог.

Чтобы немного упростить себе задачу я решил отсечь не всех спам-ботов, а только тех, кто оставляет комментарии. Это связанно с тем, что я не хочу по ошибке отрезать доступ к своему сайту поисковым роботам.

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

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

К счастью, боты сканирующие содержимое веб-страницы - весьма несообразительны, и их поведение легко прогнозируется. Так, например, многие из этих ботов, не могут определить видна ли форма конечному пользователю или нет. Они могут только определить факт наличия формы в теле документа и все.

Поэтому, чтобы организовать защиту блога, я сделал две вещи:

1. Сменил название скрипта, которое использовалось по умолчанию для добавления комментариев;
2. Добавил фиктивную форму указывающую на скрипт-ловушку, задача которого сохранять в отдельный список, всех кто хотя бы раз его загрузил. Нужно отметить, что фиктивная форма видна только ботам, а пользователи отсылают свои комментарии используя настоящую форму.

После часа работы по данной схеме я уже отфильтровал 6 адресов, с которых шла спамерская рассылка, эти адреса были добавлены в черный список и более не обрабатываются.

Теперь остается только проследить каким образом изменится статистика процессорной загрузки, и на сколько уменьшится количество мусорных комментариев.

  1. Аноним
  2. Блог codeart перехал на новый хостинг
  1. Слушай, талантливый программер, чувствую, можешь ты мне помочь…
    Я обновился до WP 2.3.3 и у меня перестала напрочь работать OpenID-авторизация.
    Можешь помочь ?

  2. Привет! Защита от спама - это, конечно, хорошо….Но как защититься от тех, кто пишет гадости не под своим именем, а от моего?! Что бы Вы делали, если бы от Вашего имени на разных форумах и гостевушках появлялся не то что спам - а сплошной мат, порнография и просто глупости какие-то…
    Конечно, на многих форумах есть регистрация - но врагам и дуракам никто не мешает зарегистрироваться от какого угодно имени - и писать потом любую чушь, а “защита от спама” никак не помогает в этом случае! Спасибо за внимание.

  3. Вова, привет. Поздравляю со сменой дизайна - получилось прикольно! По поводу OpenID даже не знаю чем помочь, сам не сталкивался, готового решения нет. Нужно смотреть, что к чему и разбираться.

  4. Violet, от тех кто пишет гадости защититься очень трудно, думаю, что бороться техническими средствами не получится. Только обращаться к администрации с просьбой удалит компрометирующее сообщение.

  5. Интересные методы борьбы со спамом. Но ведь IP в основном идут поддельные, и спамерам не сложно просто поменять IP-адрес через прокси.

  6. felisa, по моим наблюдениям один и тот же IP адрес используется от 10 до 40 раз в сутки для рассылки спама. Поэтому если блокировка происходит после первой попытки я имею существенное приемущество.

    Да, спамеры могу сменить IP, но он сработает только раз, после чего будет заблокирован. При этом я избавлен от необходимости читать спамерский бред и значительно снижаю нагрузку на блог.

  7. Интересно что вы считаете спамом на вашем блоге? можно объяснить поподробней?

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

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

    Кроме этого, если в комментарии присутствует вопрос, то после публикации моего ответа я жду ответы на свои вопросы (если они есть). В случае когда ответ не поступает, удаляется и первоначальный комментарий и мой ответ.

    Я достаточно полно ответил на вопрос?

Leave a Reply

« Некоторые особенности загрузки файлов различными браузерами Результаты борьбы со спамом после первого дня »

 

Интернет радио Наутилус Помпилиус на портале 101,Ру.