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

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

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

Спасибо пользователю 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.
+3
Джехутимери Джехутимери 11 лет назад #
Спасибище! Спамеры уже реально достал вкрай!
dance
+4
artscripts artscripts 11 лет назад #
Молодец!) Хоть кто-то решил побороться со спамом, респект!
+1
stealthdebuger stealthdebuger 11 лет назад #
Вы-то хоть сами проверяли, прежде чем публиковать?
Код PHP:
  1. $ch = curl_init();
  2. curl_setopt($ch, CURLOPT_URL, $url);
  3. curl_setopt($ch, CURLOPT_POST, 0);
  4. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt($curl, CURLOPT_HEADER, 0);
  6. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
  7. curl_setopt($ch, CURLOPT_TIMEOUT, 30);
Да и http_build_query() я бы не стал дергать без надобности. В данном случае можно спокойно обойтись простой конкатенацией.
+6
Марат Марат 11 лет назад #
Спасибо! Исправил. Архив перезалил. Тем, кто скачал, просто перезалейте файл plugin.php.
Да и http_build_query() я бы не стал дергать без надобности.
Скорее всего Вы правы. Но оставил как есть. Страница(регистрации) некритичная в плане быстродействия, поэтому будет как есть.
Вы-то хоть сами проверяли, прежде чем публиковать?
Конечно проверял. Прекрасно определяются спамеры. Единственное, запись в логи протестирована только на локалхосте.
Только вот тон Ваш какой-то не дружелюбный. Вы всегда такой? Могли бы и в личку написать, так то мы доброжелательны ).
+1
stealthdebuger stealthdebuger 11 лет назад #
Страница(регистрации) некритичная в плане быстродействия
Я о более глобальном. Капля камень долбит, а каждый непродуманный плагин/компонент добавляет нагрузку на, и без того, тяжелую CMS.

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

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

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

Вот только возникает вопрос,что делать если обратиться пользователь и скажет что увидел такое и докажет что он не спамер,что делать тогда как удалить его из базы или что?
0
Майкл Майкл 11 лет назад #
Для этого ужер обращается на сервис http://www.stopforumspam.com/removal и там пишет свои доводы на удаление из базы!
0
Майкл Майкл 11 лет назад #
Правка) ужер=юзер
0
DeeMon DeeMon 11 лет назад #
Отвечают редко, как правило бан снимается со временем, время бывает разное... На DLE сейчас эту систему обсуждают бурно.
0
Марат Марат 11 лет назад #
Отключить плагин и пусть регистрируется ) и спамит )))
0
Майкл Майкл 11 лет назад #
Хороший плагин, Спасибо Марат, за то что делаешь такие полезные вещи совершенно бесплатно!
+1
Malanas Malanas 11 лет назад #
Марат, спасибо, считаю очень полезный плагин.
0
lezginka.ru lezginka.ru 11 лет назад #
+
0
Trang Trang 11 лет назад #
огромное спасибо. Великое дело :)
0
BELIEVER BELIEVER 11 лет назад #
Марат спасибо и конечно +++
0
OldSchool OldSchool 11 лет назад #
Отлично, спасибо за работу!!! Опробуем в действии, т.к. проблема очень и очень насущная! В любом случае, однозначно большой +
0
Марат Марат 11 лет назад #
Да. Совсем забыл. Если планируете вести логи попыток регистрации спамеров, нужно выставить права на запись на папку
/plugins/p_stopspambot/logs. Ну и конечно же, включить в логирование в админке плагина.
Сегодня изловил ещё одного спамера )
0
myertelive myertelive 11 лет назад #
+
0
BlondinkO BlondinkO 11 лет назад #
Спасибо, Марат smile отличный подарок =)
-6
Константин Г. Константин Г. 11 лет назад #
Я думаю что плагин будет удобен если это небудет мешать нормальным пользователям регистрироватся. Ведь IP не укаждого разный. бывает целый город под одним IP. Понимаете?
+1
Марат Марат 11 лет назад #
Не понимаю )
-5
Константин Г. Константин Г. 11 лет назад #
Кстати а как он определяет? откуда у них базы пользователей берется?
0
Марат Марат 11 лет назад #
Ссылка на ресурс есть, зайдите почитайте.
В любом случае, выбор за Вами. Пользоваться или нет. Если нравится вручную, удаляйте вручную. Я просто предложил более разумный способ.
-5
Константин Г. Константин Г. 11 лет назад #
нет я небуду ставить. это не спамеры виноваты, это БРЕШ в системе безопасности cms. нужно ее устранить. тк в старых версиях что еще стоят спамеров нет ив 1.8 тоже нет
+3
lokanaft lokanaft 11 лет назад #
ив 1.8 тоже нет
Ага, как же
+5
Марат Марат 11 лет назад #
М-да. Случай, оказывается намного тяжелее, чем я подозревал.
Наверно, Вам лучше вообще не пользоваться ИнстантКМС.
+2
Димитриус Димитриус 11 лет назад #
или откатится до 1.8 .....
0
Су-27 Су-27 11 лет назад #
Спасибо за нужный плагин
0
Александр Александр 11 лет назад #
Здравствуйте Марат, а можно сделать не большой плагин, чтоб он не давал пользователю регистрировать второй акаунт с 1 ip? заранее спасибо.
+1
Александр Александр 11 лет назад #
1.8-1.9 желательно cp1251 =)
0
myertelive myertelive 11 лет назад #
У меня уже штук 15 спамеров, как мне их занести в черный список, чтобы сразу на другие сайты внести этот список, куда они ещё не успели добраться
0
Марат Марат 11 лет назад #
Возможности ведения своей базы нет. Если только эти спамеры попадут в базу вышеуказанного сервиса.
0
Trang Trang 11 лет назад #
ещё б к нему галочку специальную, чтобы он отправлял админу на емайл уведомление об изменении логов. Или вообще вывести отображение спойманных в админку... эх...
+1
Марат Марат 11 лет назад #
По сути, даже и логи то не нужны ) Так уж, только чтобы подсмотреть, работает ли плагин.
А если и уведомление на мыло, и логи в админку - плагин придется превращать в компонент. Не стоит )
0
Trang Trang 11 лет назад #
а вот это зря, что не стоит. Аналогов я пока не вижу. Кроме того, можно ж и не только вынос в админку и сообщалки на мыло сделать, а ещё и ручное добавление исключений или, как выше писали- внесение в чёрный список вручную. Вряд ли быстро аналог появится в самой системе. Куча "за", чтоб развить разработку
+2
Андрей Андрей 11 лет назад #
можем скинуться, почему бы не сделать свою инстантстопспамбазу на каком нить сервере, могу свой предоставить, можно на сервере разработчика...
присоединить к ранее мной озвученной идее сделать компонент контроля по внутренней базе спама, и сделать обмен по крону с общей базой.
убиваем двух зайцев:
1. ведем свою базу, которую можно корректировать
2. пополняем общую базу спаммеров

чем больше нас такой компонент поставит, тем скорее спамеры просто обломятся регаться на инстантовых сайтах...
0
Suslik Suslik 11 лет назад #
анализируя причины повышенной активности спаммеров на инстант-цмс я пришел к причинам:

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

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

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

4. При подтверждении по е-мейл пользователя - нет ограничения по времени этого подтверждения, то есть после прохождения 30 минут заявка на регистрацию должна аннулироваться.
-6
Константин Г. Константин Г. 11 лет назад #
Спамеры регистрируются с новыми именами, поэтому 50/50
0
Anton98rus Anton98rus 11 лет назад #
Всем привет! Залил на хостинг а он пишет (Ошибка при перекодировке файла. Выбранная кодировка (cp1251) не соотвествует реальной кодировке файла. Выберите другую кодировку в выпадающем списке.Произведен автоматический переход в домашний каталог пользователя)Что делать?
0
Andrey Andrey 11 лет назад #
плюсую однозначно!
0
Trang Trang 11 лет назад #
Марат, всё отлично работает, ещё раз спасибо. Подскажи только, как изменить количество дней до удаления лога? Мне 3 дня- маловато. Поставил б неделю-две, самое и то было... заранее спасибо
0
Марат Марат 11 лет назад #
В файле плагина строка 138
Код PHP:
  1. if(strtotime('- 3days') > strtotime($sh_log) ){
замените на
Код PHP:
  1. if(strtotime('- 14days') > strtotime($sh_log) ){
и будет 2 недели(14 дней).
Или выставьте другое нужное значение.
0
Trang Trang 11 лет назад #
огромное спасибо :)
0
Strong Strong 11 лет назад #
Так есть какие новости про Афишу?
0
Дмитрий Дмитрий 11 лет назад #
Привет, 1.10.3 будет работать?
0
Батосай Батосай 11 лет назад #
Подскажите, а ваш плагин совместим с instantcms 1.10.3? smile
0
Vlad Vlad 10 лет назад #
У меня работает
0
Trang Trang 10 лет назад #
всё отлично работает и на 10.3. Марат сделал вещь, которая продолжает работать и с выходом новых систем))
0
Карен М. Карен М. 9 лет назад #
Хорошая вещь. Нужная.
На 1.10.6 работает?
И еще, уже зарегистрированные спамеры отлавливаются? И если да, то что с ними происходит?
+1
al955 al955 8 лет назад #
на 1.10.6 все работает. при попытке зарегаться с указанием какого-нибуть спамерского e-mail выдает:

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

Еще от автора

Фильтр "Вставка модуля" v 1.0.0
Приветик! Давненько что-то я ничего не писал ) Не знаю было это или не было, вчера увидел темку, решил сделать немного по-другому. Вещь то нужная.
PHP классы для работы с VK API и с API Яндекс Метрики
Доброго времени суток, коллеги! Выкладываю два класса: -для работы с API Вконтакте; -для работы с API Яндекс Метрики.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.