Как стать автором
Обновить

Комментарии 25

Сейчас придут занудливые сторонники веб-стандартов.
Это насчет JS то? Если в наш век у человека в браузере отключен js, значит это какой-то странный человек и не на него нужно ориентироваться. Да и проверить валидность каптчи при отключенном js никто не мешает - сравниваем $_POST['captcha'] и $_SESSION['captcha'].
Если в наш век у человека в браузере отключен js, то у человека, скорее всего, стоит noScript, что в наш век флеш-баннеров по центру экрана отнюдь не странно.
в наш век флэш-баннеры по центру экрана легко лечатся с помощью AdBlock без отключения js
Ну, у меня noScript скорее не для этого стоит. Это так, одна из приятных мелочей.
Нет. Насчет ID
Да уж, накаркал :)
Я в настройки вынес звездочку.
Вот статистика использования JS в браузерах за последние 5 лет (внизу страницы): http://www.w3schools.com/browsers/browse…
Сейчас только у 6% пользователей JS отключен. Не мучать же из-за них остальные 94%.
Ну у меня стоит NoScript. Меня вы потеряли.

Кстати, ваша captcha, скорее всего, будет элементарно обходиться т.к. везде один шрифт, один цвет, нет искажений.
Почему потеряли? Никто не мешает проверять отправленные данные, если это так критично, но на момент отправки формы всего одна строчка кода облегчает жизнь 94% посетителей.
Насчет элементарности обхода - шумы там довольно сильные и механизм можно усложнять до бесконечности. Я же не говорю, что это идеальный вариант - это вариант может быть на первое время, не требующий затрат.
Вам же помешали, раз не предусмотрено что у пользователя может быть отключен JS.
Не давать отправить данные даже одному проценту пользователей показывает многое о профессионализме сайтостроителей. Вы потеряете гораздо больше пользователей, чем по статистике неиспользующих JS. Ведь на такой сайт они больше ходить не будут, и знакомым (у которых включен JS) не сообщат. А то что это вариант на "первое время", это не отговорка, т.к. проще найти полноценный вариант сейчас такой программы, чем потом оставить такую недоделку и терять пользователей.
Вы, наверное, не поняли. При отключенном JS форма отправки работает и каптча будет проверена по-любому при обработке $_POST. Только в этом случае, придется еще и обрабботать этот $_POST на предмет заполненности полей (это в любом случае надо делать!) Тогда форма превратиться в обычную, когда нотификация произходит после отправки (только это уже моя каптча за вас не сделает). Идея такой каптчи только в том, чтобы добавить возможность проверки для нормальных людей c JS еще до отправки формы, а не мотивировать неудобство для 94% одних только тем, что у 4% не включен JS (это к вопросу о профессионализме). Я же в десятый раз пишу: ничто не мешает делать проверку данных после отправки формы. Про первое время я сказал в контексте сложности взлома каптчи. Если у вас сломают эту каптчу, могу только позавидовать популярности вашего ресурса.
Понят теперь, хорошая идея, но в вашем коде все равно происходит отправка формы на сервер для проверки, что замедляет проверку. Можно сделать проверку на клиенте полностью, и при этом невзламываемой, что-то навроде подсчета на клиенте md5 того что ввели и сравнения с эталонным, подсчитанным на сервере и переданным открыто.
Я думал на эту тему, но что-то меня остановило на проверке через сервер. Это давно было, причину уже не помню (может я чего не умел тогда), надо подумать еще раз, спасибо!
А ответ на комментарий без JS не работает :/
Ой, ddos можно устроить на /captcha.php?captchadraw, генерация изображения работает и напрямую "мимо" формы. Сами посудите не надо быть семи пядей во лбу что бы написать скрипт который будет отправлять запросы на генерацию изображения, а ведь операция не самая легкая для сервера.
А что мешает устроить ддос на index.php и на остальные страницы сайта, те что потяжелее каптчи будут? Хотя, может я чего в ддосе не понимаю?
индекс завалить нереально если он грамотно построен. Вот простой пример ламерского ddos именно на капчу, правда ее уже доработали чего и Вам желаю: _http://ddos-hack.narod.ru/ruszona.html. Если посмотреть исходники, то там куча фреймов в которых идет запрос на генерацию капчи, движок четко отрабатывает и возвращает видимый нам вариант.

Нашел здесь: _http://forum.dle-news.ru/index.php?showt…, а то еще ненароком подумают чего =)
У меня задержка на генерацию уже стоит, а так изучу - спасибо!
Йо! А браузеры-то не знают!
НЛО прилетело и опубликовало эту надпись здесь
Ну тогда уж точку или : - чего мудрить то? Но пока браузеры это едят, не вижу смысла переделывать - звездочка прочно ассоциируется с обязательностью поля. Вообще же, можно в начало файла в настройки вынести.
Почему-то даже при вводе корректной каптчи поле ее ввода очищается и форма не отправляется. не подскажеет, в чем может быть проблема?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории