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

Моя маленькая каптча

Время на прочтение1 мин
Количество просмотров1.2K
Судя по огромному разнообразию каптч проблемы с выбором и установкой уже давно не должно быть, но почему-то даже на серьезных, взрослых проектах их все еще леняться устанавливать или делают такие чудные вещи как «Сколько будет 2+3?».

Даже если каптча обычного вида, часто ее просто не распознать. Чуствуешь себя андроидом, сдающим экзамен на тест Тьюринга. Казалось бы, что проще — сделайте клик по каптче и она измениться! Но, оказывается, для большинства разработчиков это тоже непосильная задача.

Помимо мудреных каптч сильно напрягает нежелание разработчиков обрабатывать валидность введенных в форму данных еще до отправки формы. А если учесть, что отправка происходит обычно при запущеной сессии (для каптчи), нажатие кнопки «Назад» в случае ошибки заполнения в IE приводит к очистке полей формы и все приходиться вводить с нуля.

Вот этих трех зайчиков может убить всего один маленький файлик — captcha.php (завернуто в rar). Подключается он в любую форму вот так:

... <? include("captcha.php")?> ....

И все! С этого момента все поля формы, у которых в id присутствует * (например: ) проверяются на заполненность при субмите формы. Если какое-то из обязательных полей не заполнено (value='' или value=0 для select'а) - форма не будет отправлена, а незаполненные поля будут подсвечены. Проверка кода в каптче тоже проходит до отправки. Клик по каптче приводит к смене комбинации. Тестировалась на IE, Opera, FF, Safari.

Примеры можно посмотреть здесь: http://sepulka.ru/post, http://gettranslite.com/rus/contacts.html, http://durashka.ru/register.php
Теги:
Хабы:
Всего голосов 14: ↑9 и ↓5+4
Комментарии25

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн