[ABD] Stop Advertisement bots v.2

Здесь авторы могут постить бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!

[ABD] Stop Advertisement bots v.2

Сообщение Xpert 07.08.2006 9:43

Тема закрыта в связи с выходом третьей версии данного мода, которая единственная на сегодняшний момент из всех версий обеспечивает достаточную защиту от спам-роботов. Подробнее смотрите Stop Advertisement Bots v.3

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

FAQ
Q: Я поставил мод, попробовал зарегистрироваться и меня приняли за бота. Где я мог ошибиться?
A: Ошиблись вы в том, что посчитали некоторые части инструкции недостойными своего внимания. Внимательно прочтите раздел Author Notes.
Вложения
stop_advertisement_bots_2.0.0.zip
(4.11 Кб) Скачиваний: 3513
Последний раз редактировалось Xpert 19.03.2008 10:09, всего редактировалось 5 раз(а).
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
 
Сообщения: 5710
Зарегистрирован: 13.03.2004 22:27
Откуда: msk.ru

Сообщение Shestak 07.08.2006 11:01

С первой версией будет конфликтовать? Нужно ли будет удалять первую версию?
Работаем 24 часа не просыпаясь
Аватара пользователя
Shestak
phpBB 1.4.1
 
Сообщения: 44
Зарегистрирован: 09.06.2006 13:34
Откуда: Москва-Тушино

Сообщение Xpert 07.08.2006 11:25

Не изучал вопрос. Лучше удалить.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
 
Сообщения: 5710
Зарегистрирован: 13.03.2004 22:27
Откуда: msk.ru

Сообщение Shestak 07.08.2006 12:26

Окей, как прорвется через прошлую версию мода бот, сразу попробую поставить эту версию. Кстати парочку проходило ботов через прошлую версию. Они просто не указывали поле сайта, и кстати вводили дату ДРа(у меня обязательна она).
П.С.: Спасибо за новую версию мода.
Работаем 24 часа не просыпаясь
Аватара пользователя
Shestak
phpBB 1.4.1
 
Сообщения: 44
Зарегистрирован: 09.06.2006 13:34
Откуда: Москва-Тушино

Сообщение VovikV 07.08.2006 12:27

По моему, нужно брать не дату запуска форума, а символы генерируемые случайным образом.
И к имени не просто добавлять символы, а как то перемешивать, или совсем заменять другими иначе допишут в скрипт спамбота регулярное выражение которое например просто отсекает от оригинальных значений все лишнее спереди и сзади.
Кроме того, по моему, зря сделали, что поле сайт сразу видно при регистрации.
Лучше бы оставили как в предыдущей версии. Ведь спамбот, даже умеющий загрузить страничку регистрации, отсечь имя от мусора и отправить запрос, это одно, а вот умеющий после всего этого, опять же повторно зайти на форум и дозаполнить поля это уже посложнее и вероятность, что будут заморачиваться с этим, меньше.

З.ы. Хорошо, что после ухода не забрасываете форум.
VovikV
phpBB 2.0.1
 
Сообщения: 127
Зарегистрирован: 21.11.2005 8:15

Сообщение Xpert 07.08.2006 23:05

Можно и случайным, главное - идея... Порядка 3000 ботов уже посчитали ее неперевариваемой. Поля вернул т.к. мод имхо не должен создавать никаких неудобств для пользователя.

Дата запуска форума хотя и не совсем случайная величина, но она нигде не светится извне. Поскольку она всегда присуствует в стандартном дистрибутиве, она и была взята. Если величина будет случайной, то ее надо передавать через форму. Это не есть гуд. Другие варианты - например SID.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
 
Сообщения: 5710
Зарегистрирован: 13.03.2004 22:27
Откуда: msk.ru

Сообщение VovikV 08.08.2006 5:47

Xpert писал(а):Можно и случайным, главное - идея... Порядка 3000 ботов уже посчитали ее неперевариваемой. Поля вернул т.к. мод имхо не должен создавать никаких неудобств для пользователя.

Дата запуска форума хотя и не совсем случайная величина, но она нигде не светится извне. Поскольку она всегда присуствует в стандартном дистрибутиве, она и была взята. Если величина будет случайной, то ее надо передавать через форму. Это не есть гуд. Другие варианты - например SID.

Спасибо за разъяснения
Как будет время поставлю эту версию и попробую сохранить старую. Как аддон бы тогда выложили скрытия поля сайт, думаю многие им воспользуются. Я так просто запал на эту вашу идею, буду и дальше использовать ее.
VovikV
phpBB 2.0.1
 
Сообщения: 127
Зарегистрирован: 21.11.2005 8:15

Сообщение ZPT 10.08.2006 15:37

У меня боты адреса сайтов пишут в Интересах и Роде занятий. Может быть стоит отсекать при регистрации "http://"?
ZPT
phpBB 1.0.0
 
Сообщения: 9
Зарегистрирован: 01.06.2006 12:06

Сообщение Xpert 17.08.2006 2:03

Поставьте мод и все... какая разница что пишут, надо вообще не давать им регистрироваться.

Немного моей статистики
Было зафиксировано 3049 попыток регистрации рекламных ботов


Добавлено спустя 5 часов 44 минуты 39 секунд:

Добавочка - ставится на основной мод, принципы те же что и при регистрации, только на сей раз не даем размещать сообщения.
Вложения
stop_advertisement_bots_posting_edition.zip
(1.94 Кб) Скачиваний: 1060
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
 
Сообщения: 5710
Зарегистрирован: 13.03.2004 22:27
Откуда: msk.ru

Сообщение automan 17.08.2006 10:37

Xpert писал(а):Добавочка - ставится на основной мод, принципы те же что и при регистрации, только на сей раз не даем размещать сообщения.

не понял, так если бот не сможет зарегистрироваться, так как он сможет разместить сообщение??
или это для тех у кого форум для гостей открыт ?
Аватара пользователя
automan
phpBB 2.0.5
 
Сообщения: 238
Зарегистрирован: 20.04.2005 11:36

Сообщение Xpert 17.08.2006 10:53

automan писал(а):или это для тех у кого форум для гостей открыт ?

Именно.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
 
Сообщения: 5710
Зарегистрирован: 13.03.2004 22:27
Откуда: msk.ru

Сообщение Rusic 18.08.2006 13:39

Код: Выделить всё
#
#-----[ FIND ]------------------------------------------
#
   $username = ( !empty($HTTP_POST_VARS['username']) ) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';


Версия форума 2.0.21 в includes/usercp_register.php нет такой строчки. Что подскажите ? Предудущего мода небыло.
Изображение
Аватара пользователя
Rusic
phpBB 1.4.2
 
Сообщения: 58
Зарегистрирован: 10.10.2004 17:20

Сообщение Extremator 23.08.2006 1:20

Какая-то фигня, всех принимает за ботов.
Старая версия пашет, а эта никак.
Аватара пользователя
Extremator
phpBB 1.4.4
 
Сообщения: 81
Зарегистрирован: 14.01.2006 18:18

Сообщение Xpert 23.08.2006 8:31

Rusic
Значит не 2.0.21. В 2.0.21 она есть. Или некорректрое обновление.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
 
Сообщения: 5710
Зарегистрирован: 13.03.2004 22:27
Откуда: msk.ru

Сообщение Rusic 23.08.2006 18:15

Xpert
Хм... может я чего то недопонял, но в изменених касающиеся 2.0.20 на 2.0.21 написано:
Код: Выделить всё
#
#-----[ OPEN ]---------------------------------------------
#
includes/usercp_register.php

#
#-----[ FIND ]---------------------------------------------
# Line 989
      $code = strtoupper(str_replace('0', 'o', substr($code, 6)));

#
#-----[ REPLACE WITH ]---------------------------------------------
#
      $code = substr(str_replace('0', 'Z', strtoupper(base_convert($code, 16, 35))), 2, 6);

#
#-----[ FIND ]---------------------------------------------
# Line 1002
      $confirm_image = (@extension_loaded('zlib')) ? '<img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id") . '" alt="" title="" />' : '<img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=1") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=2") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=3") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=4") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=5") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id&amp;c=6") . '" alt="" title="" />';

#
#-----[ REPLACE WITH ]---------------------------------------------
#
      $confirm_image = '<img src="' . append_sid("profile.$phpEx?mode=confirm&amp;id=$confirm_id") . '" alt="" title="" />';

#
#-----[ OPEN ]---------------------------------------------
#
login.php

#
#-----[ FIND ]---------------------------------------------
# Line 116
               
               $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&amp;', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : '';
               $redirect = str_replace('?', '&', $redirect);

               if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r"))
               {
                  message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
               }

               $template->assign_vars(array(
                  'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">")
               );

               $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' .  sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

               message_die(GENERAL_MESSAGE, $message);
            }

#
#-----[ REPLACE WITH ]---------------------------------------------
#
            }

            $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&amp;', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : '';
            $redirect = str_replace('?', '&', $redirect);

            if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r"))
            {
               message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
            }

            $template->assign_vars(array(
               'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">")
            );

            $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' .  sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

            message_die(GENERAL_MESSAGE, $message);

И ничего более. Такой строки нет. Правлю код только руками.

ps. Если я что то недопонял прошу прощения, но мнебы мод пригадился.
Изображение
Аватара пользователя
Rusic
phpBB 1.4.2
 
Сообщения: 58
Зарегистрирован: 10.10.2004 17:20

След.

Вернуться в Бета-версии модов для phpBB 2.0.x

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0