Как защитить сайт от спама
В недавнем посте посвященном моему желанию избавится от каптчи в комментариях получилось очень интересное обсуждение. Я решил, что надо продолжить изучение проблем связанных с фильтрацией роботов и прочих не доброжелательных посетителей на сайты.
Сейчас хочу перечислить способы защиты которые мне попадались на других различных сайтах с возможностью публикации контента пользователями. Т.е. там где они прямые участники жизни ресурса, а поскольку люди все разные, а некоторые и не люди вовсе:)
Регистрация
Первый способ, самый простой и очевидный. Сделать систему регистрации во время которой проверить пользователя на “живость”, и в последствии на основе полученных данных разрешить публиковать контент или нет.
Проверка заключается в подтверждении регистрации по почте - самый распространенный вариант. Но такая система заставляет пользователя всегда осуществлять вход на сайт перед тем, как он сможет что-то написать. Дополнительные трудности и например, чтобы добавить комментарий в блог нужно обязательно быть зарегистрированным и залогиненным на сайт, что может отпугнуть какого-то случайно зашедшего человека, но чьё мнение может быть полезно и интересно. Не хорошо и обидно.
Каптчи
Сюда входят всякого рода челенджи, через которые посетитель должен пройти и только после успешного прохождения у него будет возможность произвести какое-то действие. Встречаются несколько видов таких проверок:
- угадывание букв/слов на картинке
- простая математическая задачка, типа 2+2=?
- или ещё какой-то вопрос, который точно(ну с какой-то большой долей вероятности) сможет пройти только человек, но не робот.
Премодерация
Это например проверка администратором каждого нового сообщения и после его одобрения это сообщение становится доступно на всеобщее обозрение. Тоже не удобно, поскольку требует наличие это администратора всегда “включенным”, чтобы не создавать задержек в проверке и размещении контента. Для блога это не удобно и напряжно для “автора”.
А если это сайт с большим числом активных посетителей, то одним администратором и не обойдешься. И вообще от такой системы страдают больше обычные посетители, которые оперативно не получаются обратную связь на свои действия.
Постмодерация
Проверка уже после публичного опубликования. Преимущество перед предыдущим способом по сути одно - нет задержки в публикации. Но добавляется вероятно достаточно долгого “весения” у всех на виду какой-то “плохой” информации, которая в худшем случаю будет отпугивать добропорядочных посетителей.
Публичная постмодерация
Модернизированный вариант постмодерации. Позволяет самим посетителям быть цензорами друг друга. И после некоторого количества негативных оценок, сообщение скрывается, а администратору идет уведомление о данном факте. Не плохой вариант. Но требует наличия некого количества активных пользователей всегда онлайн. Что конечно не проблема, если сайт интересный:)
Вот такие схемы я подглядел на разных сайтах, в том числе и блогах. Точно что-то упустил, поэтому надеюсь, что вы меня поправите и дополните.