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