Архивная версия сайта e-luge.net. Последняя запись сделана 1 марта 2011 года.
Город съехавших крыш
03-04-2009 01:18   |  Метки: спам

После массовой зачистки комментариев выяснилось, что спам-боты продолжают своё чёрное дело даже на этом скромном сайте. Бороться со всякими виаграми, циалисами, поддельными ролексами и всяким лексическим мусором нужно. К сожалению, варианты жать напротив каждого такого коммента ссылку «удалить» или в админ-панели отмечать галочками кандидатов на удаление мне, человеку в меру ленивому, быстро наскучило…

Что же делать? Правильно, заставить машину как-то упростить эту рутину. Open source — явно не наш метод. Шишки всегда веселее набивать самостоятельно, поэтому антиспам будет свой.

Листинг тут приводить не буду, кому надо — сам себе напишет. Дам просто краткое описание того, к чему пришёл. К счастью, большинство спам-ботов довольно тупы, весь функционал начинается и заканчивается на отправке текстовых данных на сервер. Ни о какой поддержке JavaScript'а или кук речи даже не идёт. Тут и попробуем отсеять часть незваных гостей. Форма комментария перед отправкой данных создаёт скрытое поле со случайным набором букв и цифр в качестве значения. Тот же самый ключ ложится в куку. При валидации формы проверяем, существует ли ключ и совпадает ли его значение со значением из куки (вполне возможно, что проверка значений в данном случае ничего и не даёт, но запас карман не тянет, так что пусть будет). Естественно, простейшие роботы этот ключ не увидят. На чём их и ловим.

Однако, случаи, ведь, как известно, бывают разные. Соревноваться в смекалке с нашими спамерами и создавать какую-то систему искусственного псевдо-интеллекта как-то не хочется. Универсальных решений мы не ищем. Так что, система модерирования «прочёл — одобрил» пока не отменяется. Единственное, что в неё так же внёс пару изменений. Дополнительная таблица в БД для IP-адресов с которых запрещено комментирование. И небольшой задел на будущее — кроме id записи и самого IP записываем дату, до которой запись о бане считается актуальной. И второе, больше из разряда посмотреть, как будет работать. В нагрузку к бану по IP ещё одна таблица — хэш комментариев. При постинге проверяется md5 комментария и, если такой уже был за последние 60 дней, то вежливо просим пользователя быть пооригинальней. Естественно, определённые записи можно запретить навсегда.

Надеюсь, такая система принесёт свои плоды. Время покажет.

Как всегда замечания и предложения приветствуются.

Комментарии (0):

Комментариев пока нет. Станете первым?

Это архив блога. Добавление комментариев запрещено.

© Павел Новицкий 2009 - 2011
(: time: 34.4s, sql: 60, memory: 261Mb :)