За последние 24 часа нас посетили 22223 программиста и 1165 роботов. Сейчас ищут 677 программистов ...

Защита phpBB от регистрационных ботов

Тема в разделе "Решения, алгоритмы", создана пользователем Sergey89, 11 июл 2007.

Статус темы:
Закрыта.
  1. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Недавно установил у себя на сайте форум phpBB. И тут же куча новых регистраций. Немного подумав, пришёл к такому решению.

    Первым делом ищем и открываем файл
    Код (Text):
    1. templates/subSilver/profile_add_body.tpl.
    Находим блок начинающийся с
    Код (Text):
    1. <!-- Visual Confirmation -->
    Редактируем его следующим образом:
    Код (Text):
    1. <!-- Visual Confirmation -->
    2. <!-- BEGIN switch_confirm -->
    3. <tr style="display: none;">
    4.     <td class="row1" colspan="2" align="center"><span class="gensmall">{L_CONFIRM_CODE_IMPAIRED}</span><br /><br />{CONFIRM_IMG}<br /><br /></td>
    5. </tr>
    6. <tr style="display: none;">
    7.     <td class="row1"><span class="gen">{L_CONFIRM_CODE}: * </span><br /><span class="gensmall">{L_CONFIRM_CODE_EXPLAIN}</span></td>
    8.     <td class="row2"><input type="text" class="post" style="width: 200px" name="confirm_code" size="6" maxlength="6" value="" /></td>
    9. </tr>
    10. <!-- END switch_confirm -->
    Теперь блок CAPTCHA не виден простому пользователю и следовательно он не станет его заполнять, в отличие от бота.
    Дальше открываем файл
    Код (Text):
    1. includes/usercp_register.php
    Находим
    PHP:
    1. if ($row['code'] != $confirm_code)
    2. {
    3.     // ...
    4. }
    Заменяем на
    PHP:
    1. if (!empty($confirm_code))
    2. {
    3.     $error = TRUE;
    4.     $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . 'Для ботов регистрация закрыта!';
    5. }
    Теперь если кто-то введёт код показанный на картинке, то он будет распознан как бот. ;)
    Небольшая статистика неудачников:
     
  2. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    теперь осталось переписать под себя капачу так, чтобы ее было сложно опознать даже специализированному боту.
     
  3. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Пускай он её распознаёт. В этом-то и суть - ловушка. Пройдёт только ручная регистрация, от которой не спасёт ни одна каптча. А начстоящий посетитель посчитает это даже плюсом, так как его избавять от разглядывания и угадывания(встечал и такие каптчи) символов на картинках.
     
  4. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    вопрос: зачем придумали капачу?
     
  5. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Чтобы отличить автомат от человека. Ты видил стандартную каптчу phpBB? Не трудно написать срипт, который распознает её. Я предлагаю один из вариантов решения данной проблемы без смены каптчи.
     
  6. Davil

    Davil Guest

    windows 95 тоже придумали. Это не значит что я обязан им пользоваться...
     
  7. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    +1 000 000
     
  8. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    написать нестандартную капачу еще легче.

    Это утверждение совсем неверно.
    Часть левых ботов попадется. Если на них нет дубля с регистрацией без капачи.
    Но заявлять, что это улучшит защиту - это все равно, что отключать регистрацию юзеров чтобы ловить ботов на попытке логина.
     
  9. Davil

    Davil Guest

    armadillo
    В любом случае оно отсеит тех ботов которые распознают капчу, а остальных - где их взять?
     
  10. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Всё основано на фактах. За 5 дней остановлено 30 ботов. Только один прошёл регистрацию. Либо это был бот, который не заполнил поле, либо это был человек. Бот затачивается под определённый движок. Ему известны поля, которые надо заполнить. Он их и заполняет. Я не сомневаюсь, что если изменить имена всех полей, то это также даст положительный эффект.
    ЗЫ да и откуда боту знать, что данное поле заполнять не надо? Или данное решение используется уже массово?
     
  11. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    Если у тебя полтора пользователя - то неважно.
    Если их чуть больше, то придется озаботиться и защитой от регистраций, и от ДДОСа.
     
  12. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Что не важно?
     
  13. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    ловишь ли ты вообще ботов или у тебя дыры с ведро.
     
  14. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    armadillo Одно дело защита каптчей, а другое дело защита обманом бота. Чем не защита? Данную защиту боты не могут обходить ввиду их унификации. Они уже запрограммированы на то, какие данный нужно отправлять на сервер.

    Есть вариант обхода любой каптчи. Пользователю показывается каптча, он вводит её, после чего получает доступ к какому-нибудь ресурсу сайта, а боту становится известно, что же там скрывалось под затейливой картинкой. В данном случае мой вариант справится даже с таким "взломом".
     
  15. Anonymous

    Anonymous Guest

    Пустой флейм пошел.
    Sergey89, в рунете почти не видел, по англ. метод зовется honeypot, встречал иногда. Не обязательно с каптчей, с другими полями тоже бывает.
    Чушь собачья. от ДДоСа защищатся нужно на аппаратном уровне, остальное нонсенс.
    Sergey89, это все хорошо, пока не прийдут флудить конкретно на твой сайт, если он станет вдруг достаточно известным.... ;)
     
  16. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Ну да. С этим не поспоришь. Если используется каптча и им так захочется завалить мой сайт лишними пользователями, то могут прибегнуть и к ручной регистрации.
     
  17. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    нет, он поправят одну строчку в боте.
     
  18. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    правда, и массовые вызовы поисков с лайками на форуме или других тяжелых запросов тоже аппаратно ловить? И с использованием захваченных аккаунтов тоже?
     
  19. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Ок. Подправь строчку в каком-нибудь боте, чтобы он распознал KCAPTCHA. Слабо? Я сейчас говорю, про использование каптчи!
     
  20. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    чтобы он НЕ ИСПОЛЬЗОВАЛ - в чем проблема?
     
  21. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Вы хатите пакаварить ап этом?

    ЗЫ кому прийдёт в голову валить форум сразу с кучи компов? Понимаю там сайта майкрософт или пентагона.
     
  22. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    с кучи затрояненых - приходилось видеть.
    С одного компа со сменой прокси будем отлавливать поток запросов или оставим аппаратным решениям?
     
  23. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Это не DDoS! DDoS атака производится одновременно! с кучи IP.
     
  24. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    приехали. что такое прокси?
     
  25. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Повторю:
    С одним компьютером ты никогда не проведёшь DDoS атаку, DoS да, но не DDoS!
     
Статус темы:
Закрыта.