Появилось немного свободного времени и сделал компонент, который поможет немного ослабить натиск спамеров на наши сайты на двоечке.
Для чего тема
Поделиться компонентом, собрать мнения, возможно, продолжить дальнейшее расширение возможностей компонента.
Что делает компонент
В момент регистрации пользователя ищет его в базе www.stopforumspam.com с помощью их api www.stopforumspam.com/usage
Если регистрирующийся был замечен в базе, зарегистрироваться он не сможет.
Уведомления админу
Компонент максимально старается не мешать процессу регистрации. Поэтому, если сайт stopforumspam не ответит, или ответит ошибкой, это не помешает пользователю зарегистрироваться. Администратор получит уведомление с ником и е-майл пользователя, а также текст ошибки.
Также админ получит уведомление, если спамер попробует зарегистрироваться на сайте.
В какой момент идет проверка
Компонент цепляется к хуку registration_validation. Т.е. проверка идет после стандартных проверок icms на уникальность, ограничений по e-mail и т.п., но до проверки капчи.
Немного картинок
Как проверить работу
Установите компонент и попробуйте зарегистрироваться под свеженькими данными спамера со скриншота.
Если что-то пошло не так
Просто отключите компонент в админке и дайте знать, что пошло не так?
Если компонент не срабатывает, откройте Компоненты — Управление событиями и проверьте, что в самом конце добавилась вот такая строчка
Согласен. Робот выполнит миссию регистрации и прекратит попытки зарегистрироваться.Можно разрешить спамеру регистрироваться на сайте, но сразу ставить его в забаненые или удаленные. При повторной регистрации, он и без сервиса не сможет пройти.
При особо наглых попытках, это снизит нагрузку на сервер…Можно разрешить спамеру регистрироваться на сайте, но сразу ставить его в забаненые или удаленные. При повторной регистрации, он и без сервиса не сможет пройти
как я понял, опция проверки по нику была изначально. И так как спамеры используют нормальные ники, то проверка идет с упором на мыло.Также ограничения на регистрацию по никнейму делать или опционально
По крайней мере при тестах меня ни разу не заблокировало со спамерскими никами, но с нормальной почтой.
Будем посмотреть. Ценное замечание.Можно разрешить спамеру регистрироваться на сайте, но сразу ставить его в забаненые или удаленные.
Тут наверно только в админке… И с помощью ajax, дергая порционно пользователей из базы. Проверить разом всех не получится. Да и у сервиса наверняка есть какие-то лимиты (сам не нашел, но фразы о бережном использовании api были).Из хотелок: чтобы была возможность существующих пользователей проверить на наличие в базе спамеров
Спам регистрации идут постоянно. Выручает активация по е-майл. Спамеры, видимо, набивают пул регистраций, чтобы потом спамить с них. На двойке такой пул регистраций создать не получится, так как из коробки реализовано автоудаление неактивированных рег.
Отличная новость!Melon, в процессе
Пакет установки /users/files/download7174.html
Пакет обновления /users/files/download7144.html
Что нового
Решено было отказаться от проверки nickname.Выбор момента проверки
Если выбран второй вариант, то пользователь будет зарегистрирован, заблокирован и перемещен на главную страницу сайта. И добавлен в список спамеров в админке компонента.
Проверка зарегистрированных пользователей по базе
В этом разделе админки можно запустить проверку пользователей на наличие в базе stopforumspam. Такие пользователи будут помещены в раздел Спамеры компонента.
Технические нюансы
У сервиса ограничение на 100 тысяч запросов в день. Должно хватить всем.
Так как проверка всех пользователей может занять много времени, было решено сделать проверку с помощью ajax, проверяя по одному пользователю в секунду.
Возможно потом появятся другие форматы проверки, но пока мне трудно представить, как разом проверить, скажем, несколько тысяч пользователей. Тут можно как уронить свой сайт, так и есть риск, что stopforumspam перестанет отвечать на наши слишком частые запросы.
Пока на свой страх и риск можно в файле system\controllers\zspam\backend\actions\check.php закомментировать sleep(1);
Могут быть ошибки. Прошу присылать текст ошибки в личку. Чтобы его получить, откройте режим разработчика (ctrl + shift + i), перейдите во вкладку networks, запустите проверку. Если скрипт перестанет выполняться, посмотрите, что пришло в ответ от сайта.
А так основные ошибки (curl, нет ответа от stopforumspam) будут выведены текстом в момент проверки.
В настройках регистрации подтверждение по е-майл стоит?Очень удивлен, что не нашлось спамеров, так как с момента установки компонента были такие регистрации.
Скорее всего дело в этом. На нескольких сайтах с таким подтверждением вижу, как спамеры регаются, но не подтверждают е-майл. А потом удаляются по крон как неактивированные.