Александр Кошелев
Александр Кошелев Python-разработчик

Как защитить сайт от спама

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

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

Регистрация

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

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

Каптчи

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

  • угадывание букв/слов на картинке
  • простая математическая задачка, типа 2+2=?
  • или ещё какой-то вопрос, который точно(ну с какой-то большой долей вероятности) сможет пройти только человек, но не робот.

Премодерация

Это например проверка администратором каждого нового сообщения и после его одобрения это сообщение становится доступно на всеобщее обозрение. Тоже не удобно, поскольку требует наличие это администратора всегда “включенным”, чтобы не создавать задержек в проверке и размещении контента. Для блога это не удобно и напряжно для “автора”.

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

Постмодерация

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

Публичная постмодерация

Модернизированный вариант постмодерации. Позволяет самим посетителям быть цензорами друг друга. И после некоторого количества негативных оценок, сообщение скрывается, а администратору идет уведомление о данном факте. Не плохой вариант. Но требует наличия некого количества активных пользователей всегда онлайн. Что конечно не проблема, если сайт интересный:)

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

comments powered by Disqus