Prime Anti-bot и русский язык
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
edgar
- phpBB 2.0.13
- Сообщения: 917
- Стаж: 21 год 1 месяц
- Откуда: с Луны свалил...
Prime Anti-bot и русский язык
Внимание! Начиная с версии 3.0.6. в движок уже встроена возможность установки вопроса при регистрации. Данный мод более не актуален
Есть такой мод Prime Anti-bot. См. здесь
Такой же по функционалу как Anti Bot Question в phpbb 2, можно задать вопросы при регистрации и постинге гостя. Но установка проще и варианты вопросов и ответов прописываются не через админку в базу, а в файле. Если вопрос с картинкой, то тоже в файле прописывается путь к картинке.
Мод не дружит с русским языком. Если ответы на кириллице, то они всегда воспринимаются как неправильные.
Если у гуру найдется время, просьба посмотреть этот мод - насколько он хорош в плане кода и можно ли его подружить с русским языком.
Клюевые слова для поиска: антиспам, замучали спаммеры / спамеры, спам-боты, спамботы, защита от спама, спам на форуме, замучили спамеры, как бороться со спамом.
Есть такой мод Prime Anti-bot. См. здесь
Такой же по функционалу как Anti Bot Question в phpbb 2, можно задать вопросы при регистрации и постинге гостя. Но установка проще и варианты вопросов и ответов прописываются не через админку в базу, а в файле. Если вопрос с картинкой, то тоже в файле прописывается путь к картинке.
Мод не дружит с русским языком. Если ответы на кириллице, то они всегда воспринимаются как неправильные.
Если у гуру найдется время, просьба посмотреть этот мод - насколько он хорош в плане кода и можно ли его подружить с русским языком.
Клюевые слова для поиска: антиспам, замучали спаммеры / спамеры, спам-боты, спамботы, защита от спама, спам на форуме, замучили спамеры, как бороться со спамом.
Последний раз редактировалось Rayden 25.01.2010 15:50, всего редактировалось 3 раза.
Причина: Добавление собщения о неактуальности мода
Причина: Добавление собщения о неактуальности мода
-
Борис Бердичевский
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 18 лет 8 месяцев
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 45 раз
- Поблагодарили: 81 раз
Re: Prime Anti-bot и русский язык
Вы сейчас упадёте со стула. По крайней мере, я едва не упал.
Вот каким способом регистрируются боты, обходя (ДА! ДА!) этот мод, Prime Anti-bot то есть.
Это распечатка моих логов. 
Вот каким способом регистрируются боты, обходя (ДА! ДА!) этот мод, Prime Anti-bot то есть.
Код: Выделить всё
04-05-2009 18:40:20 Question ->Знаменитый русский бард Response ->[url=#file_links[d:\xrumer\all_url_kondrat_shop.txt,1,s]] #file_links[d:\xrumer\ext_kondrat_shop_ru_.txt,1,s] [/url]
04-05-2009 19:03:32 Question ->Как зовут артистку Гурченко? Response ->[url=#file_links[d:\xrumer\all_url_kondrat_shop.txt,1,s]] #file_links[d:\xrumer\ext_kondrat_shop_ru_.txt,1,s] [/url]
Последний раз редактировалось Борис Бердичевский 04.05.2009 18:30, всего редактировалось 1 раз.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
Alex_G
- phpBB 1.4.1
- Сообщения: 47
- Стаж: 18 лет 10 месяцев
- Откуда: Moscow
Re: Prime Anti-bot и русский язык
Я не понял. У них в файле "ext_kondrat_shop_ru_.txt" забиты ответы на вопросы что ли?
-
Борис Бердичевский
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 18 лет 8 месяцев
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 45 раз
- Поблагодарили: 81 раз
Re: Prime Anti-bot и русский язык
Похоже что так. А лохи-модоразработчики не допёрли выкидывать нафиг всякие [url= 
Название файла говорит о том, что это наши, русские хакеры-спаммеры. Наш русский левша любую блоху подкует -- самый хитрый мод обойдёт!
Название файла говорит о том, что это наши, русские хакеры-спаммеры. Наш русский левша любую блоху подкует -- самый хитрый мод обойдёт!
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
Борис Бердичевский
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 18 лет 8 месяцев
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 45 раз
- Поблагодарили: 81 раз
Re: Prime Anti-bot и русский язык
Короче.
File
includes/prime_captcha.php
Find
Add before
Find
Add after
File
includes/prime_captcha.php
Find
Код: Выделить всё
foreach ($key_list as $idx => $valid_responses) // The passkey phrase was encoded, so we need to find it rather than just accessing it directly (bummer)Код: Выделить всё
if ( stristr ( $user_response, '[url') !== FALSE )
{
$this->error = 'PRIME_CAPTCHA_INCORRECT';
}
else
{
Код: Выделить всё
// If we made it here AND no error was assigned, then we did not find a passkey phrase, which shouldn't happen.
Код: Выделить всё
}
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
Борис Бердичевский
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 18 лет 8 месяцев
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 45 раз
- Поблагодарили: 81 раз
Re: Prime Anti-bot и русский язык
Сейчас, когда я включил защиту именно на это, я посмотрю, будут ли ещё они регистрироваться.
Ибо, как я писАл в другой теме, раз в несколько недель/месяц бот всё же регистрировался.
Ибо, как я писАл в другой теме, раз в несколько недель/месяц бот всё же регистрировался.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
Борис Бердичевский
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 18 лет 8 месяцев
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 45 раз
- Поблагодарили: 81 раз
[FAQ] Предотвращение спама в phpbb3
Вот какое дело, уважаемый Izya. Спорить можно сколь угодно долго, теоретически анализируя, что должен был сделать бот и т.д. и т.п.
Но если вы обратили внимание на мою поправку (логгинг всех ответов), то должны признать, что никакой регистрации без того, чтобы это отразилось в логах, быть не могло. Регистрация была, и это отразилось в логах -- именно так, как я выложил. На практике, а не в теории. Какой был вопрос и какой был ответ -- это не было где-то за кадром, всё оно в логах. Также обратите внимание, что логи мои снабжены временными отметками, так что я точно знаю, когда зарегистрировался бот и какой записи в логах это по времени соответствует.
Так и хочется ответить по-книжному: "У меня все ходы записаны!" (С)
Добавлено спустя 4 минуты 10 секунд:
В дополнение. Если вы найдёте ошибку в моём логгинге, милости прошу, вам респект. Потому что червь сомнения меня гложет, что я в логгиге что-то недоработал...
Добавлено спустя 16 минут 58 секунд:
Ещё раз.
Я вношу в лог переменную $user_response
А спустя несколько строк она же проверятся на валидный ответ.
Где тут секрет, почему проходит сравнение этой фигни с [url -- с правильным ответом?
Но если вы обратили внимание на мою поправку (логгинг всех ответов), то должны признать, что никакой регистрации без того, чтобы это отразилось в логах, быть не могло. Регистрация была, и это отразилось в логах -- именно так, как я выложил. На практике, а не в теории. Какой был вопрос и какой был ответ -- это не было где-то за кадром, всё оно в логах. Также обратите внимание, что логи мои снабжены временными отметками, так что я точно знаю, когда зарегистрировался бот и какой записи в логах это по времени соответствует.
Так и хочется ответить по-книжному: "У меня все ходы записаны!" (С)
Добавлено спустя 4 минуты 10 секунд:
В дополнение. Если вы найдёте ошибку в моём логгинге, милости прошу, вам респект. Потому что червь сомнения меня гложет, что я в логгиге что-то недоработал...
Добавлено спустя 16 минут 58 секунд:
Ещё раз.
Я вношу в лог переменную $user_response
А спустя несколько строк она же проверятся на валидный ответ.
Код: Выделить всё
if ($user_response == $valid) // Did we actually find a valid response?!После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
Berk
- phpBB 2.0.2
- Сообщения: 301
- Стаж: 18 лет
- Откуда: Украина, Киев
- Благодарил (а): 3 раза
- Поблагодарили: 2 раза
Re: [FAQ] Предотвращение спама в phpbb3
да что тут спорить Борис
вы сделали очередной пост из серии "ABQ фигня"
и самое ужасное, что со всей душой в это поверили
поэтому любые доводы вам побоку
вы сделали очередной пост из серии "ABQ фигня"
и самое ужасное, что со всей душой в это поверили
поэтому любые доводы вам побоку
-
Борис Бердичевский
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 18 лет 8 месяцев
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 45 раз
- Поблагодарили: 81 раз
Re: Prime Anti-bot и русский язык
Давайте рассуждать здраво.Izya писал(а):Борис Бердичевский
Какой бы вещью ни были факты, их надо анализировать, прежде чем делать выводы.
Во-первых, с чего Вы взяли, что зарегался именно тот бот, который ответил на вопрос той строкой, что Вы нам показали.
Во-вторых, фраза, передаваемая формой в качестве ответа на регвопрос, не исполняется каким-либо образом. Она просто сравнивается с подготовленными Вами ответами. Как думаете, сравнение строкис любым из Ваших ответов даст положительный результат?Код: Выделить всё
[url=#file_links[d:\xrumer\all_url_kondrat_shop.txt,1,s]] #file_links[d:\xrumer\ext_kondrat_shop_ru_.txt,1,s] [/url]
В-третьих, Вы уже неоднократно писали, что боты прорывают Вашу защиту. Так может проблему надо искать у Вас, а не в коде хорошего программиста, которого Вы смело называете лохом? Ведь именно к Вам боты могут прорываться по разным причинам (к примеру, стандартные вопросы (кстати, Вы думаете, вопрос про Гурченко сложен для бота?), или, как вариант, кому-то просто по неведомой причине хочется спамить именно Ваш форум, и тут уж ничто надолго не спасет).
Самый важный здесь пункт - "Во-вторых". Пусть он будет "теоретической выкладкой". А Вы возьмите и проверьте эту выкладку на практике. Попробуйте зарегать пользователя, вставив в поле ответа то, что вставил бот.
P.S. Прошу понимать, что я пытаюсь до вас донести. Я не говорю, что Prime AntiBot непробиваем. Он пробивается сразу же, как только один из Ваших вопросов достаточно стандартен, чтобы быть в заготовленном спамерами словаре. Я утверждаю, что считать внесение ботом в поле ответа строк типасредством взлома защиты - бред. И вот это я утверждаю с полной уверенностью. Эта строка должна преобразовываться хрумером в ссылку и уже в виде ссылки вставлять в форму. По какой-то причине она не преобразовалась и бот ее вставил как есть.Код: Выделить всё
[url=#file_links[d:\xrumer\all_url_kondrat_shop.txt,1,s]] #file_links[d:\xrumer\ext_kondrat_shop_ru_.txt,1,s] [/url]
Допустим, что бот не прорвался, задав строку с [url. Мне тогда непонятно, как бот прорвался, не оставив других следов.
Возможно, слабинУ нужно искать в другом месте, но не моего кода, а опять-таки кода данного конкретно Антиспам МОДа. Допустим, бот умеет обманывать МОД и после нескольких подобных ответов с [url -- ответов было 2 -- несмотря на несовпадение такого ответа с правильным, бот добивается снятия проверки на "человечность". Только тщательный анализ кода и подробные логи сумеют прояснить картину, как такое произошло. Фишка в том, что -- вполне возможно -- таким же способом прорывается и стандартная капча!
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
Борис Бердичевский
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 18 лет 8 месяцев
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 45 раз
- Поблагодарили: 81 раз
Re: Prime Anti-bot и русский язык
Я добавил логи на всё, включая и успешную проверку на кукки. Посмотрим, если зарегистрируется ли какая-нибудь гадость...
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
Борис Бердичевский
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 18 лет 8 месяцев
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 45 раз
- Поблагодарили: 81 раз
Re: Prime Anti-bot и русский язык
Пока мне ничего не ясно. Было 2 (два) случая регистрации ботов. По времени определил -- посмотрел логи. Такая вот гадость: бот на вопрос ответил неправильно (ответ был 3323442). Скрипт Анти-бот не зарегистрировал НИ правильного, НИ неправильного ответа; такое впечатление, что скрипт "повис". А бот зарегистрировался.
Я ввёл одну фишку в скрипт, буду смотреть...
Да, есть у меня одна идея, обязательно проверю!
Я ввёл одну фишку в скрипт, буду смотреть...
Да, есть у меня одна идея, обязательно проверю!
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
Борис Бердичевский
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 18 лет 8 месяцев
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 45 раз
- Поблагодарили: 81 раз
Re: Prime Anti-bot и русский язык
А теперь высказываю свою гипотезу, которую я сейчас проверяю.
Время реакции при ручной регистрации и при автоматической (т.е. ботом) разное. Бот умудряется послать сигнал POST ('нажать кнопку' Submit) ещё до того, как скрипт успеет проверить ответ! И при этом функция возвращает результат "нет ошибки"! Поскольку код ошбики выставляется только по результатам проверки ответа, а до того он инициализирован как 'false' -- см. строчки
Также можно объяснить и то, почему после лога с демонстрацией неправильного ответа нет лога, сообщающего "Discarded" (это я такой лог запротоколировал). Потому что форма закрывается, и скрипт прерывает свою работу.
Пока это только гипотеза.
Время реакции при ручной регистрации и при автоматической (т.е. ботом) разное. Бот умудряется послать сигнал POST ('нажать кнопку' Submit) ещё до того, как скрипт успеет проверить ответ! И при этом функция
Код: Выделить всё
function update_error(&$error)Код: Выделить всё
$this->error = 'PRIME_CAPTCHA_INCORRECT'; Код: Выделить всё
class prime_captcha
{
var $error = false; Пока это только гипотеза.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
Борис Бердичевский
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 18 лет 8 месяцев
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 45 раз
- Поблагодарили: 81 раз
Re: Prime Anti-bot и русский язык
Ну что, похоже, совместными усилиями с автором MOD-а нашли глюк.
http://www.phpbb.com/community/viewtopi ... 5#p9556515
http://www.phpbb.com/community/viewtopi ... 5#p9556515
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
Борис Бердичевский
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 18 лет 8 месяцев
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 45 раз
- Поблагодарили: 81 раз
Re: Prime Anti-bot и русский язык
Наконец-то я увидел логи, которые подтверждают мою поправку глюка.
http://www.phpbb.com/community/viewtopi ... 5#p9556695
Т.е. с моей поправкой бот не прошёл!
http://www.phpbb.com/community/viewtopi ... 5#p9556695
Т.е. с моей поправкой бот не прошёл!
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
-
Борис Бердичевский
- phpBB 3.0.0 RC1
- Сообщения: 1457
- Стаж: 18 лет 8 месяцев
- Откуда: Израиль, Беэр-Шева
- Благодарил (а): 45 раз
- Поблагодарили: 81 раз
Re: Prime Anti-bot и русский язык
Меня тут попросили продублировать поправки глюка. Во-первых, глюк уже поправлен автором МОДа, если вы скачаете последнюю версию МОДа, то будет исправленный вариант. Во-вторых, я для верности добавил свою поправку.
Вот поправка для тех, у кого старый вариант. (Все поправки касаются файла includes/prime_captcha.php )
Find
Replace to
А это моя поправка, для верности, можно также внести.
Find
Add after
Вот поправка для тех, у кого старый вариант. (Все поправки касаются файла includes/prime_captcha.php )
Find
Код: Выделить всё
$this->error = 'PRIME_CAPTCHA_INCORRECT';
break; // We didn't find a valid response, so lets move on
}
}
// If we made it here AND no error was assigned, then we did not find a passkey phrase, which shouldn't happen.
Replace to
Код: Выделить всё
$this->error = 'PRIME_CAPTCHA_INCORRECT';
break; // We didn't find a valid response, so lets move on
}
}
// If we made it here AND no error was assigned, then we did not find a passkey phrase, which shouldn't happen.
$this->error = ($this->error) ? $this->error : 'PRIME_CAPTCHA_NO_KEY';
Find
Код: Выделить всё
// If we can find our cookie and it has its correct value, then
// we've already done a verification and we can just leave.
if (isset($_COOKIE[$cookie_name]) && $_COOKIE[$cookie_name] == $cookie_value)
{
return;
}
Код: Выделить всё
$this->error = 'PRIME_CAPTCHA_INCORRECT';
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!

