Плагин "Стоп СпамБот" v.1.0.0

3470
Привет, друзья!
Ну как, надоели спамеры? Попробуем побороться?

Представляю легонький плагин, позволяющий отсекать регистрирующихся на сайте спамеров.

Спасибо пользователю malanas за наводку на ресурс, который кстати имеет, оказывается, и превосходный API.

Скрытый текст виден только зарегистрированным пользователям


При регистрации, плагин проверяет e-mail и ip пользователя. Если они есть в базе спамеров, то плагин не дает закончить регистрацию и производит редирект обратно на страницу регистрации с выводом сообщения, что пользователь находится в базе спамеров. Любые сомнения трактуются в пользу пользователя.

Настройки в админке:

Минимальное количество записей в базе спамеров для запрета регистрации - число. При проверке на спамера, если в базе спамеров записей меньше, чем указанное, то пользователю будет позволено регистрироваться. По умолчанию - 10.
Вести логи, 1 -да, 0 -нет - флаг, указывающий вести логи или нет. Логи попыток регистрации спамеров будут записываться в папку /plugins/p_stopspambot/logs . Каждый день будет создаваться новый файл лога. Логи старее 3 дней автоматически удаляются. По умолчанию ведение логов отключено. Логи пишутся в формате:
e-mail : количество записей в базе спамеров ; ip : количество записей в базе спамеров;
Каждая новая запись с новой строки.

Установка:

1. Разархивируем и заливаем архив на хостинг;
2. Устанавливаем плагин "Стоп СпамБот";
3. Включаем плагин;
4. Если необходимо, меняем настройки в админке.
5. Если планируете вести логи попыток регистрации, включить в админке плагина и выставить права на запись на папку /plugins/p_stopspambot/logs

Системные требования:

InstantCMS 1.10.1
libcurl или allow_url_fopen On
php должен быть скомпилирован с поддержкой json

Скрытый текст виден только зарегистрированным пользователям


Скрытый текст виден только зарегистрированным пользователям


Приятного пользования!

P.S. Работаю над Афишой. Этот плагин был просто творческим отступлением от Афиши ))). Скоро будет последний корректирующий релиз для 1.9. После теста, адаптирую под 1.10.1.
Плагин "Объекты по теме " v1.0.0 | Микрохак "Кириллический ури для любой страницы"
Комментарии (64)
Джехутимери 16 июня 2013 в 15:48 +3
Спасибище! Спамеры уже реально достал вкрай!
dance
artscripts 16 июня 2013 в 15:50 +4
Молодец!) Хоть кто-то решил побороться со спамом, респект!
stealthdebuger 16 июня 2013 в 16:12 +1
Вы-то хоть сами проверяли, прежде чем публиковать?
Код PHP:
  1. $ch = curl_init();
  2.  
  3. curl_setopt($ch, CURLOPT_URL, $url);
  4. curl_setopt($ch, CURLOPT_POST, 0);
  5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  6. curl_setopt($curl, CURLOPT_HEADER, 0);
  7. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
  8. curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  9.  
Да и http_build_query() я бы не стал дергать без надобности. В данном случае можно спокойно обойтись простой конкатенацией.
Марат 16 июня 2013 в 16:42 +6
Спасибо! Исправил. Архив перезалил. Тем, кто скачал, просто перезалейте файл plugin.php.
Да и http_build_query() я бы не стал дергать без надобности.
Скорее всего Вы правы. Но оставил как есть. Страница(регистрации) некритичная в плане быстродействия, поэтому будет как есть.
Вы-то хоть сами проверяли, прежде чем публиковать?
Конечно проверял. Прекрасно определяются спамеры. Единственное, запись в логи протестирована только на локалхосте.
Только вот тон Ваш какой-то не дружелюбный. Вы всегда такой? Могли бы и в личку написать, так то мы доброжелательны ).
stealthdebuger 16 июня 2013 в 16:59 +1
Страница(регистрации) некритичная в плане быстродействия
Я о более глобальном. Капля камень долбит, а каждый непродуманный плагин/компонент добавляет нагрузку на, и без того, тяжелую CMS.

Конечно проверял. Прекрасно определяются спамеры.
Хм... Ну я вообще-то о приведенном выше участке кода говорил. И, мог бы посоветовать, улучшить обработку результатов запроса, но для бесплатной версии и так сойдет.

Только вот тон Ваш какой-то не дружелюбный. Вы всегда такой?
Вам показалось, мое присутствие на данном сайте уже говорит о благосклонности к ICMS и ее разработчикам.
Марат 16 июня 2013 в 20:19 +4
Путем нехитрых манипуляций, предположил, что Вы SD с нулледа ). Что же, это дает Вам право на такой тон, даже если он и был ). Даже удивлен, что обратили внимание на мою скромную поделку.
Рад с Вами познакомиться, честно. Всё таки на нулледе кого-попало не держат. Буду рад Вашей критике и советам.
stealthdebuger 16 июня 2013 в 20:33 +4
Взаимно.
Этот плагин полезный многим станет, тем более выложен бесплатно.
Лимита в 20К запросов хватит для любого рабочего сайта. Если же сайт будут спамить целенаправленно, то никакие лимиты и проверки не помогут... включая и ограничение по количеству постов.

P.S. Недружелюбного тона и правда не было. ;)
SEOrigin 16 июня 2013 в 18:01 0
У stealthdebuger такая манера общения, так то он хороший:)
Maxim 16 июня 2013 в 16:30 0
А на 1.9 будет работать если переконвертировать в 1251?
Марат 16 июня 2013 в 16:43 0
Не могу сказать. Не смотрел, есть ли там такой эвент. Потестируйте на локалхосте.
Марат 16 июня 2013 в 16:57 +2
Архив перезалит. Было пропущено закрытие сеанса curl. Вина моя )
Перезалейте файл plugin.php.
Search 16 июня 2013 в 17:42 +1
Марат + за работу.
Очень ждем Афишу, очень актуально!
+
Dost 16 июня 2013 в 18:57 0
Спасибо
Майкл 16 июня 2013 в 19:21 0
А что будет если будет использовано "Количество обращений к сервису ограничено - 20 000/сутки." ?
stealthdebuger 16 июня 2013 в 19:23 +2
Сервис перестанет реагировать на запросы и спам продолжит идти как и шел до этого.
fact 16 июня 2013 в 19:52 0
не поможет это ни фига. по прежнему может что то сделать это только ограничение на количество постов в блог в сутки в зависимости от группы пользователей
Марат 16 июня 2013 в 20:14 0
Не панацея конечно. Но в определенной мере может помочь. Я же говорю, как показывает практика. На одном запущенном сайте проверял по этой базе и удалил 80% пользователей и осталось только 10(вообще не занимаюсь сайтом) ))). Как поудалял, так и новые перестали регистрироваться почти. Вчера загрузил плагин, в логах пусто пока.
st.Puh 16 июня 2013 в 19:53 0
Большое спасибо за плагин протестировал,работает отлично.
""
Изображение уменьшено. Щелкните, чтобы увидеть оригинал.

Вот только возникает вопрос,что делать если обратиться пользователь и скажет что увидел такое и докажет что он не спамер,что делать тогда как удалить его из базы или что?
Майкл 16 июня 2013 в 19:59 0
Для этого ужер обращается на сервис http://www.stopforumspam.com/removal и там пишет свои доводы на удаление из базы!
Майкл 16 июня 2013 в 20:00 0
Правка) ужер=юзер
DeeMon 16 июня 2013 в 21:23 0
Отвечают редко, как правило бан снимается со временем, время бывает разное... На DLE сейчас эту систему обсуждают бурно.
Марат 16 июня 2013 в 20:08 0
Отключить плагин и пусть регистрируется ) и спамит )))
Майкл 16 июня 2013 в 20:00 0
Хороший плагин, Спасибо Марат, за то что делаешь такие полезные вещи совершенно бесплатно!
Malanas 16 июня 2013 в 21:17 +1
Марат, спасибо, считаю очень полезный плагин.
lezginka.ru 16 июня 2013 в 22:12 0
+
Trang 16 июня 2013 в 23:53 0
огромное спасибо. Великое дело :)
++
BELIEVER 17 июня 2013 в 10:34 0
Марат спасибо и конечно +++
OldSchool 17 июня 2013 в 11:05 0
Отлично, спасибо за работу!!! Опробуем в действии, т.к. проблема очень и очень насущная! В любом случае, однозначно большой +
Марат 17 июня 2013 в 16:14 0
Да. Совсем забыл. Если планируете вести логи попыток регистрации спамеров, нужно выставить права на запись на папку
/plugins/p_stopspambot/logs. Ну и конечно же, включить в логирование в админке плагина.
Сегодня изловил ещё одного спамера )
__ 17 июня 2013 в 19:26 0
+
BlondinkO 17 июня 2013 в 20:44 0
Спасибо, Марат smile отличный подарок =)
Константин Г. 17 июня 2013 в 21:02 -6
Я думаю что плагин будет удобен если это небудет мешать нормальным пользователям регистрироватся. Ведь IP не укаждого разный. бывает целый город под одним IP. Понимаете?
Марат 17 июня 2013 в 23:55 +1
Не понимаю )
Константин Г. 17 июня 2013 в 21:05 -5
Кстати а как он определяет? откуда у них базы пользователей берется?
Марат 17 июня 2013 в 23:58 0
Ссылка на ресурс есть, зайдите почитайте.
В любом случае, выбор за Вами. Пользоваться или нет. Если нравится вручную, удаляйте вручную. Я просто предложил более разумный способ.
Константин Г. 22 июня 2013 в 17:33 -5
нет я небуду ставить. это не спамеры виноваты, это БРЕШ в системе безопасности cms. нужно ее устранить. тк в старых версиях что еще стоят спамеров нет ив 1.8 тоже нет
lokanaft 23 июня 2013 в 10:49 +3
ив 1.8 тоже нет
Ага, как же
Марат 23 июня 2013 в 14:36 +5
М-да. Случай, оказывается намного тяжелее, чем я подозревал.
Наверно, Вам лучше вообще не пользоваться ИнстантКМС.
Димитриус 23 июня 2013 в 14:51 +2
или откатится до 1.8 .....
Су-27 17 июня 2013 в 23:01 0
Спасибо за нужный плагин
Александр 18 июня 2013 в 08:53 0
Здравствуйте Марат, а можно сделать не большой плагин, чтоб он не давал пользователю регистрировать второй акаунт с 1 ip? заранее спасибо.
Александр 18 июня 2013 в 08:54 +1
1.8-1.9 желательно cp1251 =)
__ 19 июня 2013 в 19:42 0
У меня уже штук 15 спамеров, как мне их занести в черный список, чтобы сразу на другие сайты внести этот список, куда они ещё не успели добраться
Марат 20 июня 2013 в 08:13 0
Возможности ведения своей базы нет. Если только эти спамеры попадут в базу вышеуказанного сервиса.
Trang 19 июня 2013 в 21:54 0
ещё б к нему галочку специальную, чтобы он отправлял админу на емайл уведомление об изменении логов. Или вообще вывести отображение спойманных в админку... эх...
Марат 20 июня 2013 в 08:16 +1
По сути, даже и логи то не нужны ) Так уж, только чтобы подсмотреть, работает ли плагин.
А если и уведомление на мыло, и логи в админку - плагин придется превращать в компонент. Не стоит )
Trang 20 июня 2013 в 12:53 0
а вот это зря, что не стоит. Аналогов я пока не вижу. Кроме того, можно ж и не только вынос в админку и сообщалки на мыло сделать, а ещё и ручное добавление исключений или, как выше писали- внесение в чёрный список вручную. Вряд ли быстро аналог появится в самой системе. Куча "за", чтоб развить разработку
Андрей 22 июня 2013 в 18:19 +2
можем скинуться, почему бы не сделать свою инстантстопспамбазу на каком нить сервере, могу свой предоставить, можно на сервере разработчика...
присоединить к ранее мной озвученной идее сделать компонент контроля по внутренней базе спама, и сделать обмен по крону с общей базой.
убиваем двух зайцев:
1. ведем свою базу, которую можно корректировать
2. пополняем общую базу спаммеров

чем больше нас такой компонент поставит, тем скорее спамеры просто обломятся регаться на инстантовых сайтах...
Suslik 29 июня 2013 в 13:25 0
анализируя причины повышенной активности спаммеров на инстант-цмс я пришел к причинам:

1. Нет возможности оповещения админа по емейл о регистрации новых пользователей.

2. Нет элементарного ограничения на количество новых постов за определенное время.

3. Формочки регистрации/постов очень подходят для спаммеров своей простотой и не содержат никаких элементарных пусть и устаревших антиспаммерских защит вроде java/ajax или скрытых полей.

4. При подтверждении по е-мейл пользователя - нет ограничения по времени этого подтверждения, то есть после прохождения 30 минут заявка на регистрацию должна аннулироваться.
Константин Г. 22 июня 2013 в 17:50 -6
Спамеры регистрируются с новыми именами, поэтому 50/50
Anton98rus 24 июня 2013 в 10:06 0
Всем привет! Залил на хостинг а он пишет (Ошибка при перекодировке файла. Выбранная кодировка (cp1251) не соотвествует реальной кодировке файла. Выберите другую кодировку в выпадающем списке.Произведен автоматический переход в домашний каталог пользователя)Что делать?
Andrey 30 июня 2013 в 17:52 0
плюсую однозначно!
Trang 22 июля 2013 в 20:29 0
Марат, всё отлично работает, ещё раз спасибо. Подскажи только, как изменить количество дней до удаления лога? Мне 3 дня- маловато. Поставил б неделю-две, самое и то было... заранее спасибо
Марат 24 июля 2013 в 08:12 0
В файле плагина строка 138
Код PHP:
  1. if(strtotime('- 3days') > strtotime($sh_log) ){
замените на
Код PHP:
  1. if(strtotime('- 14days') > strtotime($sh_log) ){
и будет 2 недели(14 дней).
Или выставьте другое нужное значение.
Trang 24 июля 2013 в 13:58 0
огромное спасибо :)
Strong 18 октября 2013 в 10:26 0
Так есть какие новости про Афишу?
Дмитрий 1 декабря 2013 в 01:22 0
Привет, 1.10.3 будет работать?
Батосай 2 декабря 2013 в 14:34 0
Подскажите, а ваш плагин совместим с instantcms 1.10.3? smile
Vlad 2 января 2014 в 16:43 0
У меня работает
Trang 3 января 2014 в 01:00 0
всё отлично работает и на 10.3. Марат сделал вещь, которая продолжает работать и с выходом новых систем))
Карен М. 3 марта 2015 в 21:07 0
Хорошая вещь. Нужная.
На 1.10.6 работает?
И еще, уже зарегистрированные спамеры отлавливаются? И если да, то что с ними происходит?
al955 20 января 2016 в 21:28 +1
на 1.10.6 все работает. при попытке зарегаться с указанием какого-нибуть спамерского e-mail выдает:

Ваш e-mail или ip находится в нашей базе спамеров. Регистрация запрещена!
Если наш сервис ошибочно определил Вашу причастность к распространению спама, обратитесь к администратору сайта.