Arhar Опубликовано 21 Января 2008 Жалоба Поделиться Опубликовано 21 Января 2008 алгоритм рандомной установки обработчиковвот это неплохо... а такой вопрос, они не смогут написать эмуляцию браузера? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 21 Января 2008 Жалоба Поделиться Опубликовано 21 Января 2008 Плюс конечно значение можно генерировать каждый раз новое, как с каптчей. Вот только в паблик-то такое не выложишь, сразу все себе поставят, а ботописатели напишут новых ботов. Мы так только загоняем сами себя в тупик Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 21 Января 2008 Автор Жалоба Поделиться Опубликовано 21 Января 2008 а такой вопрос, они не смогут написать эмуляцию браузера?Тогда придется писать эмуляцию шустрого админа.То есть, не отрубать сообщения ботов, а лишь помечать к удалению при следующем запросе таблицы топиков. Бот получит ответ, что сообщение размещено, и ему никто не скажет, что сообщение помечено к удалению, а первый же живой пользователь, зайдя на форум, реализует запрос удаления помеченных сообщений, и даже их не увидит. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 27 Марта 2008 Жалоба Поделиться Опубликовано 27 Марта 2008 FatCat обрати внимание: http://forum.sysman.ru/index.php?showtopic...st&p=140033этот мод не рабочий. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
vov41k Опубликовано 25 Августа 2008 Жалоба Поделиться Опубликовано 25 Августа 2008 Так для 2,1,7 что делать?То что в первом посте или втором? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
darkstar3x9 Опубликовано 25 Августа 2008 Жалоба Поделиться Опубликовано 25 Августа 2008 То, что во втором, помнится. Ещё, как уже писал, боты научились нужное значение подставлять, так что вместо тупо значения надо написать примерчик какой-нибудь простенький арифметический. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 14 Апреля 2009 Жалоба Поделиться Опубликовано 14 Апреля 2009 слегка улучшенная версия (с уникальным ключом для каждой регистрации) состоит в:jscripts/ipb_register.js - в начало var changed=0; function valid_bot(regid) { if(document.getElementById("check_bot") && (changed==0)) { document.getElementById("check_bot").value = regid; changed=1; } }в skin_register - ShowForm на полях ввода например пароля onclick="jаvаscript:valid_bot('{$data['regid']}');" onkeyup="jаvаscript:valid_bot('{$data['regid']}');" onchange="jаvаscript:valid_bot('{$data['regid']}');" onfocus="jаvаscript:valid_bot('{$data['regid']}');"sources/action_public/register.php ищем указанные строки и делаем так, чтобы получилось как здесь //----------------------------------------- // Clean out anti-spam stuffy //----------------------------------------- $regid=0; if ($this->ipsclass->vars['bot_antispam']) { // Set a new ID for this reg request... $regid = md5( uniqid(microtime()) ); ...///опущено много кода, далее искомая строка, искать по ShowForm $this->output .= $this->ipsclass->compiled_templates['skin_register']->ShowForm( array( 'TEXT' => $this->ipsclass->lang['std_text'], 'coppa_user' => $coppa, 'regid' => $regid), $final_errors ); if ($this->ipsclass->vars['bot_antispam']) { if ( $this->ipsclass->input['regid'] == "" ) { $form_errors['general'][] = $this->ipsclass->lang['err_reg_code']; } $this->ipsclass->DB->simple_construct( array( 'select' => '*', 'from' => 'reg_antispam', 'where' => "regid='".trim(addslashes($this->ipsclass->input['regid']))."'" ) ); $this->ipsclass->DB->simple_exec(); ...//опущена часть кода, дальнейшее добавляем после проверки капчи, искать по $sum_result if ( trim($this->ipsclass->input['check_bot'] ) != $row['regid'] ) { $form_errors['general'][] = $this->ipsclass->lang['err_reg_bot']; } } else { if ( trim( intval($this->ipsclass->input['check_bot']) ) != 0 ) { $form_errors['general'][] = $this->ipsclass->lang['err_reg_bot']; } }защита идет параллельно с капчей, чтобы развязать придется добавлять больше кода Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
kamenka Опубликовано 30 Мая 2009 Жалоба Поделиться Опубликовано 30 Мая 2009 Вопрос по работе скрипта на 1.3 Установил скрипт на форум. Проверил с вкл выкл Javascript.Все работает , как и обещалось. Проверку хитроумными ботами еще не проходил. При проверке всплыла странная особенность. Javascript в IE7 включен. При регистрации случайно ввел существующий емейл, всплыло соответствующее сообщение, и возврат на форму регистрации. Меняю емейл...ентер, и выскакивает сообщение, что регистрация возможна только с включенным Javascript. Таже фигня при вводе существующего ника. Но если закрыть браузер и повторить регистрацию то все нормуль. Намучался до хохоту, прежде чем понял в чем дело. Так и должно быть? Я к тому, ... зайдет чел в регистрацию, наберет существующий ник, и хрена он зарегистрируется пока не закроет браузер и не повторит все заново. Хорошо если сам догодается... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 30 Мая 2009 Автор Жалоба Поделиться Опубликовано 30 Мая 2009 Так и должно быть?Нужно продублировать вызов функции проверки на все поля или подвесить на сабмит. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
kamenka Опубликовано 1 Июня 2009 Жалоба Поделиться Опубликовано 1 Июня 2009 Мда. Печально. Раскусили, тут же зарегился, вражина. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 1 Июня 2009 Автор Жалоба Поделиться Опубликовано 1 Июня 2009 Я уже больше года как поменял алгоритм проверки. Но выкладывать в открытый доступ не буду. А то вражины тут и прочитают, а потом будем удивляться, что пробивают защиту. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
TIER_FOREVER Опубликовано 22 Января 2014 Жалоба Поделиться Опубликовано 22 Января 2014 в skin_register - ShowForm на полях ввода например пароля onclick="jаvаscript:valid_bot('{$data['regid']}');" onkeyup="jаvаscript:valid_bot('{$data['regid']}');" onchange="jаvаscript:valid_bot('{$data['regid']}');" onfocus="jаvаscript:valid_bot('{$data['regid']}');"Все, вроде, получилось добавить кроме корректного отображения кода выше. Куда конкретно в этот кусок кода добавить код выше, если речь идет о например форме пароля: <td width="1%" nowrap="nowrap">{ipb.lang['password']} <span>(<a href="#" style="cursor: help; color: #555;" title="{ipb.lang['password_text']}">?</a>)</span></td> <td width="100%">{ipb.lang['password_confirm']} <span>(<a href="#" style="cursor: help; color: #555;" title="{ipb.lang['password_confirm_text']}">?</a>)</span></td> </tr> <tr> <td><input type="password" size="25" maxlength="32" value="{ipb.input['PassWord']}" id='reg-password' name="PassWord" /></td> <td><input type="password" size="25" maxlength="32" value="{ipb.input['PassWord_Check']}" id='reg-password-check' name="PassWord_Check" /></td> <td width='12'> <img id='img-password' src="{ipb.vars['img_url']}/spacer.gif" alt="" width='12' height='12' /> </td> </tr> </table> Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 23 Января 2014 Жалоба Поделиться Опубликовано 23 Января 2014 я подозреваю, что в том старом сообщении слово яваскрипт изменено <input type="password" size="25" maxlength="32" value="{ipb.input['PassWord']}" id='reg-password' name="PassWord" onclick="valid_bot('{$data['regid']}');" onkeyup="valid_bot('{$data['regid']}');" onchange="valid_bot('{$data['regid']}');" onfocus="valid_bot('{$data['regid']}');"/>может быть так Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.