Месяца два назад в мою гостевую повалил спам. Посмотрел логи сервера. Разумеется, IP-адрес, с которого рассылались сообщения, менялся из-за использования прокси-серверов, переменная User-agent тоже не была постоянной. Единственная зацепка, которую я смог найти: спамерский скрипт сразу отсылал POST-запрос, и всё. Выход из положения был такой: когда пользователь заходит на какую-либо страницу, создается сессия. Скрипт гостевой проверяет, действительно ли сессия была открыта, или это очередное сообщение спамеров.
Тогда я поленился всё это делать и изменил URL гостевой, а так же имена полей в форме ввода сообщения. Как оказалось, хорошо, что я поленился. Пару дней назад ко мне на сайт попали вот по такому запросу из Рамблера: гостевая. Интересно, они просматривали эти 2700 сайтов вручную, или это тоже был скрипт? И после в гостевой опять началось безобразие. Главная особенность — перед отправкой POST-запроса спамерский скрипт обращается к гостевой. Теперь уж точно программно отследить спамерские сообщения нереально. Опять поменял URL и имена полей.
Надо подумать о методе, позволяющем фильтровать спам. Способ CAPTCHA, в котором пользователю предлагается прочесть текст на картинке и написать его в специально отведенное поле ввода, конечно, хорош. Но слишком уж он неудобен для пользователя. Я его просто ненавижу.
Хорошо еще, что спамеры не добрались до комментариев к статьям и к записям в блоге. Тогда точно надо будет придумывать что-то кардинально новое.
Я раньше фильтровал сообщения в гостевой по кол-ву вхождений «. Если в сообщении содержится более одного (двух) вхождений — то гостевая его игнорировала. В принципе метод себя оправдал для спамерских сообщений, которые состояли из большого числа гиперссылок. Жалоб от пользователей не было, в принципе больше одной (двух) ссылок в сообщение редко вставляют. Конечно же, этот метод отсеивал лишь некоторую долю спама, но его можно было применять, как один из фильтров
А чем плох метод, при котором необходимо ввести код с картинки? Помоему все нормально, просто думаю достаточно и три цифры, которые нормально читались бы, пользователь без проблем их введет. Само собой не стоит делать такое, что делает Яндекс и им подобные, которые текст так искажают, что его и прочитать то трудно.
#3. 10 января 2007 года, 00:11. Роман Парпалак пишет:
Тем, что при этом пользователю приходится совершать лишние действия, и в случае слабой мотивации он может отказаться от идеи написать комментарий.
А вот такой, например, вариант — это спамом считать или как? [url=]спрашивается вопрос[/url]
#5. 27 июня 2007 года, 23:15. Роман Парпалак пишет:
Конечно, невозможно создать совершенный фильтр, который бы только по тексту комментария позволял сказать, спам это, или нет. К счастью, в настоящее время спам-ботов можно отсечь другими способами. Один из них — javascript.
Защиту от спама можно сделать идеальной только предмодерируемой. В остальном — капча + непропускать html + свой BBCode (не стандартный [url=..]..[/url])
#7. 10 июля 2007 года, 23:00. Роман Парпалак пишет:
Необходимость очистки от HTML-тегов возникает и из других соображений.
Вообще-то, в записи говорилось, что я искал другие методы, помимо CAPTCHA. Один из них, с использованием javascript, здесь и реализован. Я им очень доволен, поскольку он за 4 месяца не пропустил ни одного спаммерского сообщения, а неудобств пользователям практически не создает.