
Представляю вашему вниманию свой мини-модуль "Скрытая капча". Фишка этого модуля в том, что поле для ввода капчи является скрытым и заполняется джаваскриптом автоматически. Т.е. пользователь вообще не догадывается о наличии капчи на форме. По сути, это та самая элементарная джава-скриптовая капча против спамботов, о которой каждый хоть раз задумывался. Для пользователей без джаваскрипта отображается стандартная капча.
Плюс: можно сказать "прощай" уродливой друпаловской капче и процессу капчезаполенния вообще. Как следствие - довольные юзера.
Минус: от нацеленной спам-атаки модуль не спасет (а что спасет?)
Данный модуль основан на стандартной мат. капче с небольшой модификацией.
Кусок модуля:
///....
$js = '$(".captcha").hide(); $("#edit-captcha-response").attr("value","'.$answer.'");';
$result['form']['captcha_response'] = array(
'#type' => 'textfield',
'#title' => t('Math Question'),
'#description' => t('Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.'),
'#field_prefix' => t('@x + @y = ', array('@x' => $x, '@y' => $y)),
'#size' => 4,
'#maxlength' => 2,
'#required' => TRUE,
'#suffix' => '<script type="text/javascript">'.$js.'</script>',
);
//....
Этот суффикс вставляет джаваскрипт, который и скрывает форму, а потом заполняет поле.
$js = '$(".captcha").hide(); $("#edit-captcha-response").attr("value","'.$answer.'");';
//....
'#suffix' => '<script type="text/javascript">'.$js.'</script>',
UPD: Выпущена скрытая Image captcha.
| Прикрепленный файл | Размер |
|---|---|
| hidden_image_captcha-6.x-1.0.zip | 1.6 кб |
| hidden_captcha-5.x-1.3.zip | 1.66 кб |
| hidden_captcha-6.x-1.2.zip | 1.67 кб |
# | Николай
Cookies should be enabled in your browser for CAPTCHA validation.
Хотя куки включены
# | Олег
Модуль скопировал, включил, в разделе капча выбрал - Скрытая математическая капча
Результат - обычная математическая капча осталась, где я что не включил?
Мне кажется, но это похоже на обрезанную реализацию плагина SpamFree из wordpress ? Правда там используются кроме скриптов еще и Куки. Хотя без спорно, что это: дешево, сердито, удобно.
Хитро, но действенно. Большой сенкс, однако. Будем пользовать.
Жаль, что этого нет на drupal.org (в project) Сложно уследить за обновлением. Да и статистика пригодилась бы.
# | анонимус
к сожалению, модуль не работает, если весь js на странице находится не в разделе HEAD, а перед закрывающим тегом body ;-(( Это можно как-то обойти?
Посмотрел в код страницы... Идея хоть и простая по реализации, но реально гениальная! =)) мне нравится
Идея интересная, но по сути проверяется только наличие JS у клиента. Всё остальное - это пасы руками...
Можно и без самого модуля капчи такое сделать. Генерировать токен из каких-то параметров сессии или глобальных массивов и их проверять через JS.
Ещё один вариант защиты от ботов - это проверять в JS нажатие клавиш и/или движения мышью.
А в будущем снимать на встроенную в браузер камеру фотку клиента и сравнивать с капчей. :-)
# | анонимус
Тестирую без яваскрипта. Прошу прощения, но у меня на сайте оно без яваскрипта не работает вообще никак - комментарий не добавляется.
# | анонимус
Все включил но для анонима пишет "Поле Math Question обязательно для заполнения."
Отличный модуль, спасибо.
Только у меня jquery в конце страницы подгружается, поэтому пришлось явскрипт ваш тоже в конец с помощью drupal_add_js переносить :)
Компания "Интеджер" предлагает для Вашего ресурса сделать телефонную "капчу"..
Которая защитит Ваш ресурс от спама и "доброжелателей", ботов..
преимущества:
- инновации.
- надежность.
- простота использования.
Принцип работы:
1. -абонент заполняет регистрационную форму (указывая номер телефона).
2. -нажимает кнопку "зарегистрироваться" (на что ему предлагается сделать подтверждающий бесплатный звонок на указанный Вами номер)
3. -при звонке сравнивается caller-id с внесенным в регистрационную форму. После чего абонент зарегистрирован или его сообщение отправлено..
По дополнительным услугам предоставляемых нашей компанией Вы можете ознакомиться на нашем сайте integer.ua или связавшись с нашими менеджерами по тел. 8(044) 594-20-67
Это ж надо было столько геморроя придумать для оставления комментария: написать, ПОЗВОНИТЬ, и только тогда отправить. (: После этого делаем звонок платным по стопицотмиллионов евро долларов за секунду и Билли Гейц нервно курит в углу. (:
Ссылки с других сайтов
Все молчат как партизаны.