Бесплатный плагин Antibot - отбиваем атаку спам-ботов

Возможно, кто-то из вас заметил, что некоторое время назад на сайте стали появляться откровенные спам-топики, да еще и англоязычные. Довольно быстро они удалялись, но появлялись вновь и вновь. И когда я понял, что это надолго, пришлось достать свои старые наработки и сварганить плагин антибот.
Собственно, использовать плагин можно безо всяких дополнительных настроек, установил, активировал — и все. Но кроме того, что плагин отсекает ботов, он еще умеет вести логи, иногда это очень полезно: удачное и неудачное прохождение бот-теста, удачная и неудачная регистрация и авторизация.

Боты наглые и упорные — я зафиксировал до 100 попыток «левых» регистраций в час. Но плагин с ними успешно справляется.

Правда, обнаружился один непонятный пока побочный эффект: есть, как минимум, один юзер, который не может теперь авторизоваться здесь на сайте через Firefox (в Chrome проблем нет). С этой проблемой разбираюсь, но пока не могу понять, в чем причина.

Похожие статьи


59 комментариев

0
Правда, обнаружился один непонятный пока побочный эффект: есть, как минимум, один юзер, который не может теперь авторизоваться здесь на сайте через Firefox (в Chrome проблем нет).
Это паходу я, сейчас авторизовался через IE.
Выдаёт вот такую ошибку:
0
Хм, значит, вас, как минимум двое. Неприятно это, но пока не могу докопаться до причины, почему так происходит
0
Я упустил момент и у меня зарегилось более 1200 ботов. Я закрыл пока сайт от регистрации и закрыл возможность писать топики.
А вопрос такой есть возможность удалить их скопом, а не по одному добавляя в бан?
Плагин поставлю, конечно, но с уже зарегистрированными не знаю что делать.
Кстати, о плагине, не смог зайти на сайт с Яндекс-браузера, зашел с Амиго.
0
«Скопом» — это как? Автоматом определять, что это бот и его удалять? Это вряд ли. А вот так, чтоб отметить в админке сразу несколько юзеров и их удалить — такое дополнение скоро выложу, сам ощутил реальную потребность в этом.
0
Да именно так, отметить галочкой и нажать на кнопку «Удалить» или «Добавить в бан»

0
Вадим, а в чем проблема? Вот у меня на одном сайте работает плагин, который каждую новую регистрацию сверяет с базой SFS: www.stopforumspam.com, www.stopforumspam.com/usage
Вроде неплохо справляется.
0
Собственно, задача состояла в том, чтоб очень быстро поставить заслон ботам. Были у меня определенные наработки, которые я использовал. Разбираться со сторонними решениями времени не было. Но спасибо за наводку, теперь можно выдохнуть и внимательно уже на сторонние решения глянуть.
0
Насколько скоро?
0
Хм, 1200 регистраций? И все с подтвержденным e-mail?
На моем сайте тоже регулярно публикуют англоязычный спам — медицинские услуги и еще какая-то чушь. После включения «подтверждения по e-mail» количество регистраций упало до 1 в день, видно спамер перешел на ручной режим.

Будете ли вы адаптировать свой antibot-плагин под ls?
0
И все с подтвержденным e-mail?
Как-то не очень хочется ждать, подтвердит бот свой е-мейл или нет, поэтому попытка регистрации отбивается на начальном этапе. Но вообще, пока я не включил плагин, а наблюдал за поведением ботов, то видел, что примерно треть из тех, кому удалось зарегаться, свой емейл подтверждают.

Будете ли вы адаптировать свой antibot-плагин под ls?
Нет
+3
За неполные двое суток отбито 10 тысяч регистраций. Безумно полезный плагин.
0
Я одно не могу понять, как они обходят капчу? Может подцепить в регистрацию более сложную капчу от гугл?
0
Капча не панацея. Может их машинным способом распознают, а может и вручную. Легко нагуглил сервис ручного распознавания капч от 14р за 1000 капч. Думаю у китайцев можно найти и дешевле
0
Обычно капча останавливает ботов.
0
Не надо. recapcha тоже ими обходится, а пользователей вы точно отобьете. Ибо это издевальство.
0
Поставил плагин 95% отбивает ботов, правда несколько как-то пробилось.
0
А где посмотреть этих отбиваемых злодеев?
+1
в логах файл antibot.pass_fail.log
0
(Вроде не обсуждалось похожее)

После активации плагина «сломалась» форма авторизации и регистрации. Так же не работают функции формы (не появляется галочка при правильном заполнении полей и соответственно не появляются предупреждения при не правильном их заполнении). Проверил в трех браузерах: Chrome, Opera, IE.

0
Актуально. Не работает форма при включенном плагине (+ ещё одно — плагин нельзя отключить в админке).
+1
(+ ещё одно — плагин нельзя отключить в админке).
Нужно обновиться, в последней версии исправлено.

Не работает форма при включенном плагине

Проверить не блокируется ли собственный IP, как ниже обсуждалось…
0
Проверить не блокируется ли собственный IP, как ниже обсуждалось…
В том то и дело, что ни у кого не работает (не только у меня).
Нужно обновиться, в последней версии исправлено.
Сейчас проверю.
0
… в последней версии исправлено.
Так и есть.
Не работает форма при включенном плагине
Это тоже исправлено. Не следил за обновлением плагина.
Спасибо!
0
Что то ни с того ни с сего сайт на альто 1.0.7 стал выдавать белый экран. Ничего такого не делал, оставил комментарий с картинкой и белый экран. Скачал файл plugins.dat и последовательно вырубив все плагины определил, что белый экран из за плагина антибот. Возможно конфликтует с каким то другим плагином, сильно не ковырял, но такое проявилось…
0
Или ваш собственный IP попал в черный список О_О Что возможно, т.к. в интернет огромная куча людей хочдит через NAT.
Посмотрите 'spam_ip.dat'

Можно еще
$config['block_ip'] = array(
'enable' => true,

поставить false и проверить — другие страницы, кроме логина, регистрации, и профиля (если не меняли) будет открывать или нет.

Если я правильно понял логику работы…
Отредактирован:
0
Спасибо за помощь, завтра буду разбираться в чем причина.
0
Пожалуйста, отпишитесь потом о результатах.
0
Хм, кстати, да, в теории это возможно — попадание собственного IP в черный список. Надо будет добавить к плагину еще и «белый список», задаваемый в конфиге
0
Посмотрите 'spam_ip.dat'
Что то я не могу найти этот файл в плагине… подскажите пожалуйста где вообще посмотреть кого отсекает плагин? Может конфиг нужно как то настроить?
0
Нашел этот файл, находится тут /_tmp/cache/data/spam_ip.dat Вбил в поиск свой IP — показало что не найдено. Поискал похожие адреса — нашел один очень близко похожий IP, по времени совпадает с проблемой доступа. Совпали 3 цифры, одна отличается незначительно.
Мой IP **255*
IP в файле **251*
Звездочками отмечены совпавшие одинаковые значения адреса.
Может ли из за такого совпадения появиться такая проблема? Точного совпадения не было.
0
Мой IP **255*
Ваш IP оканчивается на 255? Это невозможно. Посмотрите внимательней.
Отредактирован:
0
Ну почему на 255? Мой IP **255*
255 — предпоследняя цифра. Что интересно утром IP был * * 255 44
Сейчас проверил — такой * * 255 152
В сеть выхожу через городского провайдера. Сейчас врубил антибот — нормально сайт открывается. Непонятно что это было… IP свой проверял на 2ip.ru
На www.stopforumspam.com/search что то я не понял как там проверить свой IP.
Отредактирован:
0
На www.stopforumspam.com/search что то я не понял как там проверить свой IP.

В строку поиска вбить, например 91.207.6.6

Если ничего нет, значит в базу этот IP не попадал. Или он уже изменился…
0
Проверил оба IP — выдало 0 записей. Наверное был какой то глюк… Во всяком случае если проблема будет повторяться — отпишусь.
0
Странно, может быть тогда дело не в этом. Насколько я понимаю логику файл создается как только кто-то не проходит проверку. Искать его надо думаю в _tmp или _run…

Я думаю надо включить (я оставил как сейчас сделано по умолчанию)

$config['block_ip'] = array(
'enable' => true,
'period' => 'P3D',
'file' => 'spam_ip.dat',
'log' => false,
);

// Разрешены дополнительные логи
$config['logs']['enable'] = true;

// Логгирование неуспешного прохождения бот-проверки
$config['logs']['pass']['fail'] = array(
'enable' => true,
'file' => 'antibot.pass_fail.log',
);

// Логгирование неуспешной регистрации
$config['logs']['registration']['fail'] = array(
'enable' => false,
'file' => 'antibot.registration_fail.log',
);

// Логгирование неуспешной авторизации
$config['logs']['login']['fail'] = array(
'enable' => false,
'file' => 'antibot.login_fail.log',
);

А еще попробуйте проверить свой IP здесь www.stopforumspam.com/search

Если его там нет, то возможно моя гипотеза не верна и проблема в самом плагине.
Отредактирован:
0
Вот сегодня снова такая же хрень, снова белый экран. И один в один:
Мой IP: *.*.255.*
В файле .../_tmp/cache/data/spam_ip.dat *.*.251.*
Первая, вторая и последняя цифры одинаковые, 3-я немного отличается. Как с этим бороться? Может как то задать белый список IP? aVadim а Вы что думаете? Если есть желание — можно провести эксперимент. Удалил эту строку *.*.251.* из файла, заново загрузил и сайт нормально открылся.
0
Теперь постоянно виснет и не проходит авторизация админом… постоянно прописывает в конец файла этот долбаный IP:) Пока временно отключаю плагин:(
+1
Выложил новую версию плагина, где можно задавать «белые» списки IP-адресов. В конфиге плагина это задается так:
$config['white_ip'] = array(
    'enable' => true,
    'list' => array(
        '195.112.117.2',
        '195.112.117.25-195.112.117.30',
    ),
);
Т.е., во-первых, можно задать любое число адресов, а, во вторых, задавать можно как одиночный адрес (в примере '195.112.117.2'), так и диапазон. Если задан диапазон, то, разумеется, все IP этого диапазона будут «белыми». В примере это все адреса от 195.112.117.25 до 195.112.117.30 включительно.

Ну, и до кучи, можно точно так же самостоятельно задать списки «черных» адресов, которые будут блокироваться без дополнительной внешней проверки.

Важно: сначала идет проверка «белых» адресов, поэтому если какой-то IP в этих списках, то проверяться этот IP больше не будет (даже если он одновременно был внесен и в «черные» списки, это будет проигнорировано)
0
Кстати, в вашем случае можно было не плагин отключать, а отключить только проверку IP на предмет блокировки. Т.е. в конфиге плагина прописать:
$config['block_ip'] = array(
    'enable' => false,
    // дальше можно ничего не менять
);
Тогда проверка на блокировку IP на этапе запуска движка отключается. И проверка работает только при постинге форм
0
Спасибо большое, поставлю новую версию, если что — отпишусь:)
0
С usb модема сегодня что то порядка с 10-й попытки получилось авторизоваться на этом сайте. Судя по признакам здесь тоже установлен этот плагин. Сначала нет процесса залогинивания, висит окно авторизации с введенными данными и все. Если после неуспешного входа обновить страницу — показывает белый экран. Отключаю мобильный интернет в настройках смартфона, через некоторое время включаю — ip меняется, но не очень чтобы кардинально, например было 217.118.78.100 стало 217.118.78.107, захожу сюда на сайт — сайт открывается, пытаюсь авторизоваться — снова окно висит и потом белый экран… и так несколько раз. Возможно этот диапазон IP и есть в каких то спам базах… но тем не менее я авторизовался в итоге с IP 217.118.78.101. Может пусть плагин как то проверяет зарегистрированных пользователей? А может плагин тут вообще ни при чем? Тогда что это было? Прошлый раз я не мог авторизоваться на своем сайте под админом, сейчас здесь юзером кое как получилось…
0
Как раз 107 в базе, а 100 нет

Отредактирован:
0
Все равно непонятно как то работает он… Вот сейчас IP есть в базе, но сайт доступен. Правда мне не пришлось авторизовываться, наверное если выйти и попробовать залогиниться то скорее всего не пустит, сейчас проверю.

0
Да с 217.118.78.104 не дал авторизоваться, с 217.118.78.105 — авторизовался. Долбаный билайн почему то часто присваивает плохие IP:)
0
Сейчас познакомился тоже с «Белым экраном», каким то образом меня забанил собственный сайт)
0
Самый правильный путь — делать проверку только при регистрации. Держать IP в черном списке не больше суток (или его вообще отключить). И только в крайнем случае включать проверку при логине.
0
Да, нужно будет поковыряться в настройках
0
Вот вчера не мог зайти на этот сайт с ip 178.19.255.44 сегодня зашел с ip 178.19.255.152 Проверил тут www.stopforumspam.com/search наличие 178.19.255.44 в базе, выдало 0 записей. Это я не мог зайти уже через обычную сеть городского провайдера. Может все таки доработаете как то плагин… Может сделать какие нибудь проверки на дату регистрации, заполненность профиля или наличие публикаций у пользователя. Ну это никуда не годится, с домашнего компа не могу попасть на сайт. Может проверку делать по каким нибудь другим базам? Например тут 2ip.ru/spam/
0
Уже говорил, нужно настроить чтобы только регистрация проверялась. По-прежнему есть вероятность ложноположительных решений, но по крайней мере существующие юзеры не будут сталкиваться с проблемами. А если срабавтывает при том что IP нет в базе, то это конечно баг — надо постить в гитхаб.
0
Похоже ложные срабатывания все таки есть, вот вчера не пустило на этот сайт хотя ip нет в базе, раньше я тоже писал на свой сайт не пускало, хотя ip не точно совпадал, а отличался одной цифрой… altocms.ru/691.html#comment15363
Уже говорил, нужно настроить чтобы только регистрация проверялась.
Это же не мой сайт altocms.ru:) Пусть разработчики подумают что нибудь… Ну так обидно конечно когда не пускает:)
0
Раз не пускало, значит, действительно что-то не так. Буду анализировать, постараюсь понять, в чем проблема. Только уточните — вот прямо сразу при заходе на сайт пустая белая страница?
0
Нет, сайт открылся нормально, нажимаю «Войти» — всплывает окно авторизации, ввожу свои логин и пароль, нажимаю кнопку «Войти» на форме и все форма висит и ничего не происходит… нет авторизации. После этого обновляю страницу (мало ли что окно повисло:)) и все белый экран.
0
Оффтоплю в «живой» теме — не могу просматривать на altocms.ru новые топики: Ошибка 404.
0
По теме. Сегодня зарегистрировалось больше десятка ботов. Пошёл посмотреть логи и выяснил, что плагин не создает свои файлы логирования. В папке logs/ только файлы error.log в которых многократно повторяется одна только запись, и касается он плагина:

[LOG:1415033726.741-5457B37EB50AE][2014-11-03 19:55:26][PID:8422][ERROR][[E_WARNING [2] 
file_get_contents(): http:// wrapper is disabled in the server configuration by allow_url_fopen=0 (/site.ru/common/plugins/antibot/classes/modules/antibot/Antibot.class.php on line 275)
]][END:1415033726.741-5457B37EB50AE]

[LOG:1415033726.742-5457B37EB549B][2014-11-03 19:55:26][PID:8422][ERROR][[E_WARNING [2] file_get_contents(http://api.stopforumspam.org/api?ip=107.161.85.249&f=json): failed to open stream: no suitable wrapper could be found (/site.ru/common/plugins/antibot/classes/modules/antibot/Antibot.class.php on line 275)
]][END:1415033726.742-5457B37EB549B]


— что это может быть?
0
Настройки PHP на сервере не позволяют выполнить операцию. Учту, что такие настройки могут быть
0
А что именно не позволяет? Со своей стороны я могу что-то сделать? Доступ к настройкам PHP имеется…
+1
Если не ошибаюсь, то в php.ini прописать:
allow_url_fopen=on
0
Есть возможность доработать плагин для интеграции с сервисом антиспама https://cleantalk.org/?

И обновить плагин для Альто 1.1
Отредактирован:
0
Есть возможность доработать плагин для интеграции с сервисом антиспама https://cleantalk.org/?
Надо будет с ними связаться, пообщаться

И обновить плагин для Альто 1.1
А возникли какие-то проблемы? Плагин работает на этом вот сайте, а сайт под версией 1.1.19.4, полет нормальный
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.