Очень многие избегают сайтов, где требуется обязательная регистрация с активацией по емайл.
Поэтому кое-где разрешают анонимное комментирование. Вводишь любой (реальный или липовый) e-mail и оставляешь сообщение. Так проще получить новых участников.
С этим есть проблемы:
- Нельзя сказать один это человек подписывается данным именем или адресом, или просто фантазия у людей небогатая.
- Если посетитель всё-таки надумал завести полноценный аккаунт, можно ли включить в его статистику "анонимные" сообщения с тем же именем или адресом?
Мне кажется оптимальное решение - это "регистрация на лету с отложенной активацией". В момент, когда посетитесь оставляет своё первое сообщение создается новый аккаунт для указанного e-mail. Аккаунт создается до сохранения комментария и сам комментарий получает ссылку на аккаунт. Пара имя-почта резервируется за этим аккаунтом. И имя, и e-mail в нормальной системе уникальны!
Будет создан случайный пароль и хеш пароля сохранится в браузере. Если посетитель включал галку "запомнить меня здесь", он сможет неопределенно долго писать от своего имени и даже сможет менять настройки профиля. Причем пароля своего он не знает и писем не читал!
НО, чтобы писАть с другого компа ему понадобится активация, т.е. смена пароля через почту и активационную ссылку. Если движок сайта использует уровни доступа, можно активированных пользователей переносить в новую группу с бОльшими правами.
Рассмотрим несколько сценариев:
A. Человек ввел фиктивный адрес. Если кука утеряна, нет никакого способа восстановить аккаунт со своим именем. Сам виноват!
B. Человек ввел реальный адрес. Он потусовался некоторое время на сайте и ему будет жалко терять свое имя и статистику. Это лояльный пользователь и он наверняка активирует свой email, если понадобится.
C. Кто-то (???) без правильной куки захотел подписаться тем же именем ИЛИ тем же e-mail. У нас уже есть такой аккаунт, посетитель получит сообщение об ошибке и предложение активировать свой адрес.
Активационное письмо будет примерно таким:
Кто-то, возможно вы, писал от вашего имени на нашем сайте http://pupkin.ru/
Чтобы получить контроль над данным аккаунтом пройдите по этой ссылке:
http://pupkin.ru/activate.php?id=1234&key=2789238328923
Чтобы заблокировать данный аккаунт и никогда больше не получать писем пройдите по этой ссылке:
http://pupkin.ru/killacc.php?id=1234&key=2789238328923
Спасибо за понимание!
Конечно надо накладывать тайм-ауты на повторную отправку писем с одного айпи, а также на один e-mail. Лучше всего прогрессивно. Например сначала на 15мин, потом час, потом на сутки. Чтобы не спровоцировать добавление вашего домена в антиспамные списки.
Как защититься от ботов, которые способны застолбить все мыслимые имена? Каптча не очень хороший вариант. Мне нравится стратегия отсюда: Защищаем Web-формы без CAPTCHA. Форма комментирования/регистрации состоит из полей со случайными именами. Ненужные поля скрываются средствами CSS, человек их не увидит, а бот может заполнить то, что не надо и обломится.
Итого: мы можем одновременно запретить анономное комментирование, не использовать каптчу и не требовать немедленной регистрации через мыло. То есть создать дружественную к новым пользователям среду - мечту любого вебмастера. Данный подход никак не мешает человеку-неботу подписаться фиктивным адресом, если у него параноя. Он только способствует ненавязчивой "легализации" посетителей.
Иллюстрации - основные формы. Макет делался в FF-плагине Pencil