ZАнтиспам

InstantCMS 2.X
#1 1 марта 2019 в 21:43
Доброй ночи.
Появилось немного свободного времени и сделал компонент, который поможет немного ослабить натиск спамеров на наши сайты на двоечке.

Для чего тема
Поделиться компонентом, собрать мнения, возможно, продолжить дальнейшее расширение возможностей компонента.

Что делает компонент

В момент регистрации пользователя ищет его в базе www.stopforumspam.com с помощью их api www.stopforumspam.com/usage
Если регистрирующийся был замечен в базе, зарегистрироваться он не сможет.

Уведомления админу

Компонент максимально старается не мешать процессу регистрации. Поэтому, если сайт stopforumspam не ответит, или ответит ошибкой, это не помешает пользователю зарегистрироваться. Администратор получит уведомление с ником и е-майл пользователя, а также текст ошибки.

Также админ получит уведомление, если спамер попробует зарегистрироваться на сайте.

В какой момент идет проверка

Компонент цепляется к хуку registration_validation. Т.е. проверка идет после стандартных проверок icms на уникальность, ограничений по e-mail и т.п., но до проверки капчи.

Немного картинок





Как проверить работу

Установите компонент и попробуйте зарегистрироваться под свеженькими данными спамера со скриншота.



Если что-то пошло не так

Просто отключите компонент в админке и дайте знать, что пошло не так?
Если компонент не срабатывает, откройте Компоненты — Управление событиями и проверьте, что в самом конце добавилась вот такая строчка



Антиспам
Компонент

Антиспам

Скачать 1 699 загрузок
#2 1 марта 2019 в 21:51
Можно разрешить спамеру регистрироваться на сайте, но сразу ставить его в забаненые или удаленные. При повторной регистрации, он и без сервиса не сможет пройти.
#3 1 марта 2019 в 21:55

Можно разрешить спамеру регистрироваться на сайте, но сразу ставить его в забаненые или удаленные. При повторной регистрации, он и без сервиса не сможет пройти.

Loadырь
Согласен. Робот выполнит миссию регистрации и прекратит попытки зарегистрироваться.
#4 1 марта 2019 в 21:58
Также ограничения на регистрацию по никнейму делать или опционально или не ограничивать совсем, так как в базе один емаил может иметь сотню нормальных ников, которые могут использовать вполне адекватные люди.
#5 1 марта 2019 в 22:02

Можно разрешить спамеру регистрироваться на сайте, но сразу ставить его в забаненые или удаленные. При повторной регистрации, он и без сервиса не сможет пройти

Loadырь
При особо наглых попытках, это снизит нагрузку на сервер…
#6 1 марта 2019 в 22:08
Установил, протестировал, работает. Из хотелок: чтобы была возможность существующих пользователей проверить на наличие в базе спамеров (при установке или уже из админки).
#7 2 марта 2019 в 17:11

Также ограничения на регистрацию по никнейму делать или опционально

Loadырь
как я понял, опция проверки по нику была изначально. И так как спамеры используют нормальные ники, то проверка идет с упором на мыло.

По крайней мере при тестах меня ни разу не заблокировало со спамерскими никами, но с нормальной почтой.

Можно разрешить спамеру регистрироваться на сайте, но сразу ставить его в забаненые или удаленные.

Loadырь
Будем посмотреть. Ценное замечание.

Из хотелок: чтобы была возможность существующих пользователей проверить на наличие в базе спамеров

Melon
Тут наверно только в админке… И с помощью ajax, дергая порционно пользователей из базы. Проверить разом всех не получится. Да и у сервиса наверняка есть какие-то лимиты (сам не нашел, но фразы о бережном использовании api были).
#8 4 марта 2019 в 15:20
Ежедневно несколько регистраций спамеров пресекается данной разработкой, а значит и ранее такие регистрации имели место быть. Так что проверка старых пользователей по базе точно нужна.
#9 4 марта 2019 в 17:20
Melon, в процессе





Спам регистрации идут постоянно. Выручает активация по е-майл. Спамеры, видимо, набивают пул регистраций, чтобы потом спамить с них. На двойке такой пул регистраций создать не получится, так как из коробки реализовано автоудаление неактивированных рег.
#10 4 марта 2019 в 17:23

Melon, в процессе

Zau4man
Отличная новость!
#11 4 марта 2019 в 19:31
Версия 1.0.1 компонента
Пакет установки /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) будут выведены текстом в момент проверки.
#12 4 марта 2019 в 19:47
Классный компонент получился! Спасибо!
#13 10 марта 2019 в 15:33
Сегодня обновил компонент и проверил 1400 пользователей. Очень удивлен, что не нашлось спамеров, так как с момента установки компонента были такие регистрации.
#14 10 марта 2019 в 16:18
Полезная и актуальная разработка. Вот ничего Zau4man не скажешь, всегда если делает то в точку.
#15 10 марта 2019 в 17:26

Очень удивлен, что не нашлось спамеров, так как с момента установки компонента были такие регистрации.

Melon
В настройках регистрации подтверждение по е-майл стоит?

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