[ABD] Stop Advertisement bots v.2
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
[ABD] Stop Advertisement bots v.2
Тема закрыта в связи с выходом третьей версии данного мода, которая единственная на сегодняшний момент из всех версий обеспечивает достаточную защиту от спам-роботов. Подробнее смотрите Stop Advertisement Bots v.3
Продолжение одноименного мода первой версии. Теперь используется новый принцип - имена полей отличаются от обычных и при поытке передать данные по старому имени - это бот. Как и прежде, есть отсылка писем. Кроме того, добавился счетчик остановленных ботов в админке.
FAQ
Q: Я поставил мод, попробовал зарегистрироваться и меня приняли за бота. Где я мог ошибиться?
A: Ошиблись вы в том, что посчитали некоторые части инструкции недостойными своего внимания. Внимательно прочтите раздел Author Notes.
Продолжение одноименного мода первой версии. Теперь используется новый принцип - имена полей отличаются от обычных и при поытке передать данные по старому имени - это бот. Как и прежде, есть отсылка писем. Кроме того, добавился счетчик остановленных ботов в админке.
FAQ
Q: Я поставил мод, попробовал зарегистрироваться и меня приняли за бота. Где я мог ошибиться?
A: Ошиблись вы в том, что посчитали некоторые части инструкции недостойными своего внимания. Внимательно прочтите раздел Author Notes.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Xpert 19.03.2008 9:09, всего редактировалось 5 раз.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB 1.4.1
- Сообщения: 44
- Стаж: 18 лет 10 месяцев
- Откуда: Москва-Тушино
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
-
- phpBB 1.4.1
- Сообщения: 44
- Стаж: 18 лет 10 месяцев
- Откуда: Москва-Тушино
-
- phpBB 1.4.4
- Сообщения: 119
- Стаж: 19 лет 5 месяцев
По моему, нужно брать не дату запуска форума, а символы генерируемые случайным образом.
И к имени не просто добавлять символы, а как то перемешивать, или совсем заменять другими иначе допишут в скрипт спамбота регулярное выражение которое например просто отсекает от оригинальных значений все лишнее спереди и сзади.
Кроме того, по моему, зря сделали, что поле сайт сразу видно при регистрации.
Лучше бы оставили как в предыдущей версии. Ведь спамбот, даже умеющий загрузить страничку регистрации, отсечь имя от мусора и отправить запрос, это одно, а вот умеющий после всего этого, опять же повторно зайти на форум и дозаполнить поля это уже посложнее и вероятность, что будут заморачиваться с этим, меньше.
З.ы. Хорошо, что после ухода не забрасываете форум.
И к имени не просто добавлять символы, а как то перемешивать, или совсем заменять другими иначе допишут в скрипт спамбота регулярное выражение которое например просто отсекает от оригинальных значений все лишнее спереди и сзади.
Кроме того, по моему, зря сделали, что поле сайт сразу видно при регистрации.
Лучше бы оставили как в предыдущей версии. Ведь спамбот, даже умеющий загрузить страничку регистрации, отсечь имя от мусора и отправить запрос, это одно, а вот умеющий после всего этого, опять же повторно зайти на форум и дозаполнить поля это уже посложнее и вероятность, что будут заморачиваться с этим, меньше.
З.ы. Хорошо, что после ухода не забрасываете форум.
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Можно и случайным, главное - идея... Порядка 3000 ботов уже посчитали ее неперевариваемой. Поля вернул т.к. мод имхо не должен создавать никаких неудобств для пользователя.
Дата запуска форума хотя и не совсем случайная величина, но она нигде не светится извне. Поскольку она всегда присуствует в стандартном дистрибутиве, она и была взята. Если величина будет случайной, то ее надо передавать через форму. Это не есть гуд. Другие варианты - например SID.
Дата запуска форума хотя и не совсем случайная величина, но она нигде не светится извне. Поскольку она всегда присуствует в стандартном дистрибутиве, она и была взята. Если величина будет случайной, то ее надо передавать через форму. Это не есть гуд. Другие варианты - например SID.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB 1.4.4
- Сообщения: 119
- Стаж: 19 лет 5 месяцев
Спасибо за разъясненияXpert писал(а):Можно и случайным, главное - идея... Порядка 3000 ботов уже посчитали ее неперевариваемой. Поля вернул т.к. мод имхо не должен создавать никаких неудобств для пользователя.
Дата запуска форума хотя и не совсем случайная величина, но она нигде не светится извне. Поскольку она всегда присуствует в стандартном дистрибутиве, она и была взята. Если величина будет случайной, то ее надо передавать через форму. Это не есть гуд. Другие варианты - например SID.
Как будет время поставлю эту версию и попробую сохранить старую. Как аддон бы тогда выложили скрытия поля сайт, думаю многие им воспользуются. Я так просто запал на эту вашу идею, буду и дальше использовать ее.
-
- phpBB 1.0.0
- Сообщения: 9
- Стаж: 18 лет 10 месяцев
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Поставьте мод и все... какая разница что пишут, надо вообще не давать им регистрироваться.
Немного моей статистики
Добавочка - ставится на основной мод, принципы те же что и при регистрации, только на сей раз не даем размещать сообщения.
Немного моей статистики
Добавлено спустя 5 часов 44 минуты 39 секунд:Было зафиксировано 3049 попыток регистрации рекламных ботов
Добавочка - ставится на основной мод, принципы те же что и при регистрации, только на сей раз не даем размещать сообщения.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
-
- phpBB 2.0.1
- Сообщения: 252
- Стаж: 20 лет
- Благодарил (а): 2 раза
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
-
- phpBB 1.4.2
- Сообщения: 58
- Стаж: 20 лет 6 месяцев
Код: Выделить всё
#
#-----[ FIND ]------------------------------------------
#
$username = ( !empty($HTTP_POST_VARS['username']) ) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
-
- phpBB 1.4.3
- Сообщения: 81
- Стаж: 19 лет 3 месяца
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
-
- phpBB 1.4.2
- Сообщения: 58
- Стаж: 20 лет 6 месяцев
Xpert
Хм... может я чего то недопонял, но в изменених касающиеся 2.0.20 на 2.0.21 написано:
И ничего более. Такой строки нет. Правлю код только руками.
ps. Если я что то недопонял прошу прощения, но мнебы мод пригадился.
Хм... может я чего то недопонял, но в изменених касающиеся 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&id=$confirm_id") . '" alt="" title="" />' : '<img src="' . append_sid("profile.$phpEx?mode=confirm&id=$confirm_id&c=1") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&id=$confirm_id&c=2") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&id=$confirm_id&c=3") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&id=$confirm_id&c=4") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&id=$confirm_id&c=5") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&id=$confirm_id&c=6") . '" alt="" title="" />';
#
#-----[ REPLACE WITH ]---------------------------------------------
#
$confirm_image = '<img src="' . append_sid("profile.$phpEx?mode=confirm&id=$confirm_id") . '" alt="" title="" />';
#
#-----[ OPEN ]---------------------------------------------
#
login.php
#
#-----[ FIND ]---------------------------------------------
# Line 116
$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', 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('&', '&', 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. Если я что то недопонял прошу прощения, но мнебы мод пригадился.