CAPTCHA на мобильном: какие альтернативы?

С точки зрения UX, CAPTCHA плохо, плохо, плохо.

Но скажем, у нас это как требование. И это для гибридного приложения (скомпилированное приложение, но построенное на платформе HTML5).

Я пытаюсь выяснить:

  • - это бот-трафик с iPhone (или устройства Android) на самом деле проблема? (или - моя теория - это устаревшее требование удержания, которое было разрезано и вставлено в документы технических требований с 1998 года?)
  • Если это так, есть ли лучшие альтернативы, которые ориентированы на мобильные устройства по-прежнему-раздражающие-CAPTCHA?
108 голосов | спросил DA01 7 FebruaryEurope/MoscowbFri, 07 Feb 2014 21:00:02 +0400000000pmFri, 07 Feb 2014 21:00:02 +040014 2014, 21:00:02

18 ответов


97

Что касается вашего вопроса о том, действительно ли бот может отправить и отправить форму автоматически, это то, что я нашел на ответ на переполнение стека .

  

Сравнительно сложнее автоматизировать передачу данных внутри   Программы. Это связано с тем, что вы не можете просто написать автоматическую   скрипт для обнаружения элементов в исходном коде, а затем   имитировать форму представления. Кроме того, вам необходимо (купить и) установить   приложение (на физическом устройстве или в симуляторе).

Тем не менее, один из комментариев на самом деле предполагает, что подача формы намного проще на мобильных устройствах.

  

Это гораздо проще сделать для мобильного приложения, поскольку они обычно разговаривают с   REST API (или какой-либо другой четко определенный API), вам даже не нужно   скребок.

Итак, что касается вашего вопроса, я еще не получил определенного ответа о том, нужны ли CAPTCHA.

Тем не менее, в отношении CAPTCHA для мобильных устройств существует ряд интересных подходов, которые были предложены.

  • Ползунок CAPTCHA : Люк Вроблевски предлагает использовать слайдер CAPTCHA для взаимодействия людей и предотвращения автоматического представления контента. Чтобы процитировать статью :

      

    Вместо искаженных текстовых строк, типичных для самых современных CAPTCHA   (выше), форма регистрации на «Они делают приложения» использует слайдер, который запрашивает   люди: «покажите нам свою человеческую сторону, сдвиньте курсор до конца   строка для создания вашей учетной записи ». Перемещение ползунка вправо   полностью подает форму и запускает проверку ошибок точно так же, как   стандартная кнопка отправки.

    Ползунок CAPTCHA

    В то время как вышеупомянутый вариант - это веб-решение, легкое взаимодействие с слайдом вписывается в мобильную парадигму и также вписывается в дизайн.

  • Другим вариантом является использование распознавания образов для автоматизированного представления формы . Это будет масштабироваться в дизайне приложения, а также будет дружественным, так как пользователь может щелкнуть и выбрать нужный вариант. Пример этого приведен на этой ссылке .

    Распознавание изображений CAPTCHA

  • MotionCAPTCHA : еще один вариант I найденный требует, чтобы пользователь проследил путь на экране, чтобы завершить CAPTCHA. Чтобы процитировать статью:

      

    MotionCAPTCHA - это плагин jQuery CAPTCHA на основе холста HTML5. Это   требует, чтобы пользователи набросали форму, которую они видят на холсте, чтобы   подать форму. Это может быть удивительной альтернативой мобильным   Пользователи мобильных телефонов captchas, несомненно, оценят, что они не должны   введите эти крошечные цифры.

    MotionCAPTCHA

  • Ring CAPTCHA : этот интересный, который требует от вас предоставить номер телефона для подтверждения вашего представления и либо отправить текстовое сообщение, либо позвонить вам, чтобы предоставить PIN-код для проверки.

    Ring CAPTCHA

  • NuCaptcha : NuCaptcha - это еще один вариант, который использует традиционную модель CAPTCHA, но оптимизирован для мобильных устройств. Чтобы процитировать этот TechCrunch :

      

    Мобильная версия NuCaptcha включает ту же самую простоту, что и   веб-версии. Но новый оптимизированный мобильный Captchas обеспечивает   постоянный пользовательский интерфейс на нескольких устройствах. Например, когда   пользователь нажимает на мобильный сенсорный экран для решения Captcha, он будет соответствовать   отлично в пространство, оставленное клавиатурой, чтобы Captcha мог   быть быстро и легко завершено. NuCaptcha не требует Flash или   JavaScript; и компания планирует выпустить мобильную версию HTML5   версия его технологии Captcha в начале четвертого квартала 2011 года.

    NuCaptcha

Тем не менее, ни один из этих вариантов не предотвратит человека, которому выплачивается отказ от CAPTCHA.

ответил Mervin Johnsingh 7 FebruaryEurope/MoscowbFri, 07 Feb 2014 21:51:19 +0400000000pmFri, 07 Feb 2014 21:51:19 +040014 2014, 21:51:19
32

Недавно Snapchat добавила распознавание изображений:
( http://venturebeat.com/2014/01/22/snapchat -Найти-The-призрак /)

введите описание изображения здесь>> </p>

<hr>
<p> Примечание: <br>
Как и большинство капчей, это также невозможно.
Но пока ваше приложение станет популярной целью, это довольно приятная альтернатива; -) </p></body></html>

ответил Jørn E. Angeltveit 7 FebruaryEurope/MoscowbFri, 07 Feb 2014 21:51:53 +0400000000pmFri, 07 Feb 2014 21:51:53 +040014 2014, 21:51:53
19

Вместо того, чтобы просить пользователя ответить на вопрос или выбрать правильное изображение или что-то ввести, другой вариант состоит в том, чтобы просто удалить что-то из обычного текстового поля.

введите описание изображения здесь>> </p>

<p> С точки зрения реализации, по крайней мере, это не может быть проще! </p></body></html>

ответил Roger Attrill 8 FebruaryEurope/MoscowbSat, 08 Feb 2014 01:35:30 +0400000000amSat, 08 Feb 2014 01:35:30 +040014 2014, 01:35:30
13

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

В принципе, если для вашей проверки требуется другой тип навыков, чем ваш контент, вы без необходимости исключаете людей.

Существуют и другие доступные методы, которые не имеют этого недостатка, например, askismet, honey pot, или если у вас есть что-то, что люди действительно готовы перепрыгнуть через обручи для проверки SMS.

Если вы абсолютно настроены на разгрузку ответственности за исправление проблем безопасности вашего сайта на своих пользователей, по крайней мере, предложите им выбор, и по выбору я не имею в виду ужасные «аудио» версии, как показано в reCAPTCHA (reCAPTCHA кажется упускать из виду тот факт, что наиболее распространенная причина ухудшения зрения, старость, часто также приводит к нарушению слуха). Поэтому предоставляйте несколько CAPTCHA и позволяйте людям выбирать, предпочитают ли они отвечать на простой вопрос, распознавать изображение и т. Д.

Или, альтернативно, вы можете, как это делают некоторые компании, просто принять проблемы безопасности в качестве своей собственной проблемы, отказаться от попыток защиты пользователей и просто принять последствия.

ответил Ian Hamilton 9 FebruaryEurope/MoscowbSun, 09 Feb 2014 08:12:31 +0400000000amSun, 09 Feb 2014 08:12:31 +040014 2014, 08:12:31
11
  

На самом деле проблема с бот-трафиком с iPhone (или устройства Android)?

Проблема заключается не столько в «iPhone», а в том, что API, о котором вы говорите, также нуждается в защите. На базовом уровне IP мало что можно сделать, чтобы доказать, что такое удаленное устройство, для HTTP это действительно просто заголовки или данные формы, которые Bot может генерировать легко. То есть, мне все равно, что ваш UX, я буду атаковать ваш API напрямую.

Поскольку вы специально спрашиваете о собственных приложениях, более простой в программировании подход к вашей проблеме не будет включать пользователя, а скорее зашифрует вашу полезную нагрузку, используя схему открытого /закрытого ключа перед передачей. Поскольку только ваше приложение имеет ключ, боты, которые атакуют ваш API напрямую, сорваны. Заметьте, я действительно хочу зашифровать вашу полезную нагрузку перед отправкой, а не просто использовать SSL (который на самом деле не аутентифицирует приложение, а защищает данные в полете).

Конечно, проблема с внедрением ключей в приложениях заключается в том, что приложения также могут быть обратно спроектированы.

В наших более низких приложениях безопасности у нас есть таблица из нескольких сотен ключевых слов и приложений (которые часто являются html-гибридами), которые должны передавать несколько из них с запросами HTTP-формы. Какие из них должны быть выбраны, основывается на текущей дате, используя алгоритм, который знают как клиент, так и сервер. Затем он передается с использованием ssl. Не идеальна, открыта для обратного проектирования приложения, но достаточно проста для реализации.

Для приложений с более высокой степенью защиты мы храним ключи устройства на каждом устройстве, а не общую таблицу, и сервер внимательно следит /отслеживает все используемые клавиши. Конечно, это не практично для массовых приложений.

ответил rlb 9 FebruaryEurope/MoscowbSun, 09 Feb 2014 01:02:29 +0400000000amSun, 09 Feb 2014 01:02:29 +040014 2014, 01:02:29
8

Вы можете использовать поля медового горшка.

Они предоставляют поле в форме, которая скрыта от пользователя, но предназначена для того, чтобы быть замеченным и заполненным любым заданным ботом.

Они могут быть такими же простыми, как поле под названием «phone_number», скрытое css. Бот не обрабатывает css и видит это поле, но пользователь этого не делает.

Это будет работать как на рабочем столе, так и на мобильных устройствах и уже в течение нескольких лет находится в обращении.

Более подробно, включая комментарии, которые касаются проблем доступности: http://haacked.com /archive/2007/09/11/honeypot-captcha.aspx/

Здесь Smashing Magazine описывает это более подробно, а также рассматривает некоторые другие методы Captcha:

http://coding.smashingmagazine.com/2011/03/04 /in-search-of-the-perfect-captcha /

Они также ссылаются на социальный логин, распознавание образов и признание друзей как другие более современные методы, все из которых могут быть хорошо реализованы на мобильных устройствах, а также показывают в своем опросе, что приманки являются следующим самым популярным выбором для своих читателей после традиционных веб-форма Captchas

PS поле медового горшка на самом деле также является CAPTCHA, что означает «полностью автоматизированный публичный тест Тьюринга». Изучение этого принципа может помочь с общим пониманием основных идей.

http://en.wikipedia.org/wiki/CAPTCHA

ответил Toni Leigh 7 FebruaryEurope/MoscowbFri, 07 Feb 2014 21:13:31 +0400000000pmFri, 07 Feb 2014 21:13:31 +040014 2014, 21:13:31
8

Ханипот

Поскольку вы упомянули HTML5, я большой поклонник подхода honeypot. Большинство ваших пользователей даже не знают, что это там. Используйте все четыре следующих поля ввода, которые вы должны проверить на стороне сервера при отправке:

  • Обязательный, скрытый CSS
  • Должен быть пустой, скрытый CSS
  • Обязательный, скрытый JavaScript
  • Должен быть нулевым, скрытым JavaScript.

Обязательные поля должны быть заполнены. Поля, которые должны быть пустыми, должны быть творчески названы «Контактный номер» или что-то, что, вероятно, предположил бы бот, является подлинным полем. Просто не забудьте использовать введенные имена, которые уже используются!

Если у пользователя отключен CSS или JavaScript, вы должны объяснить, что требуется для успешной подачи, например «Оставить это поле в покое» или «Оставьте это поле пустым».

Примечание: Они должны быть скрыты из виду, но не полностью скрыты от браузера, иначе они даже не будут зарегистрированы. Тщательно проверьте!

ответил rybo111 8 FebruaryEurope/MoscowbSat, 08 Feb 2014 18:28:49 +0400000000pmSat, 08 Feb 2014 18:28:49 +040014 2014, 18:28:49
3

Я лично большой сторонник простого математического уравнения для капчей. Например, имея набор полей в конце вашей формы:

What is 1+5?
[_____________]

Пусть два числа генерируются случайным образом. С этим методом я видел значительное снижение количества сообщений о спаме /боте. Кажется, что эти боты не имеют программирования для распознавания и решения этих уравнений. Может быть, потому, что они более привыкли /запрограммированы на решение основанных на словах капчей.

Плюс от перспектив использования пользователей, это самые простые формы captchas, с которыми я столкнулся. Просто и не сложно. И они легко кодировать /масштабировать (реагировать на проекты) в HTML /CSS.

ответил Fillip Peyton 7 FebruaryEurope/MoscowbFri, 07 Feb 2014 23:45:28 +0400000000pmFri, 07 Feb 2014 23:45:28 +040014 2014, 23:45:28
3

необходимо?

К вашему первому моменту, я не могу поверить, что будет трафик «бота» на URL-адрес, который объявлен только в HTML-коде, встроенном в приложение. Основная цель спамботов - установить ссылки на другие сайты, и на страницах, которые сами не индексируются, не так много, и не имеет никакого смысла в формах, которые не влияют на контент.

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

Мобильная центральная альтернатива

Поскольку единственной известной целью CAPTCHA является выполнение роботизированного запроса от разработчиков спецификаций, достаточно надежной CAPTCHA будет следующая текстовая инструкция:

Please hold your device in your left hand.

Как мы все знаем, компьютеры не имеют рук и всегда следуют инструкциям, поэтому, столкнувшись с этим, они, вероятно, будут нравиться самоуничтожению или чем-то еще. Считается разумным.

(Это мобильно-ориентированное, поскольку рабочие столы, как правило, слишком тяжелы для хранения в одной руке.)

В этом тексте действительно отмечены все блоки клавиш для альтернативного CAPTCHA:

  • Задерживает завершение формы всеми людьми.
  • Отключает отключенные функции
  • Делает нулевую разницу с представленными полями формы, что не требует программирования на стороне сервера
  • Легко обойти любого, у кого есть настоящие злонамеренные намерения

точно так же, как и другие ответы здесь, например, тот, где у вас слабая вещь, потому что у компьютеров нет пальцев.

Усовершенствованной версией этого было бы поместить слово left в размытое изображение особо трудночитаемого шрифта в цветовой комбинации с глазу на глаз, что позволит:

  • Разрушает дизайн
ответил Paul Gregory 10 FebruaryEurope/MoscowbMon, 10 Feb 2014 03:30:52 +0400000000amMon, 10 Feb 2014 03:30:52 +040014 2014, 03:30:52
2

Я не разработчик, поэтому я не уверен в проблемах безопасности (если они есть), но как насчет ответа пользователя через сенсорный ввод? Например, вы могли бы нажать кнопку три раза три раза или, может быть, сделать простую салфетки. Вы даже можете нарисовать фигуру: http://www.josscrowcroft.com/проекты /motioncaptcha-JQuery-плагин /

ответил Brian 7 FebruaryEurope/MoscowbFri, 07 Feb 2014 21:21:55 +0400000000pmFri, 07 Feb 2014 21:21:55 +040014 2014, 21:21:55
1

Вы можете попробовать NoMoreCaptchas.com для авторизации пользователя. Это была новая технология, называемая BioChronometrics. Это все пассивно для пользователя, основанного на поведении пользователя.

ответил jmar42 27 FebruaryEurope/MoscowbSat, 27 Feb 2016 23:55:23 +0300000000pmSat, 27 Feb 2016 23:55:23 +030016 2016, 23:55:23
1

Простой подход , который работал для меня в процессе производства, состоял в том, чтобы добавить поле флажка , которое было скрыто с помощью определения стиля (CSS), а не через атрибут type = "hidden ».

Если поле отмечено в submit, вероятность высокая, что робот проверил, если пользователь не отправил форму.

Это решение не является на 100% безопасным, но очень простым в использовании, эффективным и более важным: удобство для пользователя!

ответил Spidi 28 FebruaryEurope/MoscowbSun, 28 Feb 2016 21:11:48 +0300000000pmSun, 28 Feb 2016 21:11:48 +030016 2016, 21:11:48
0
  

- это бот-трафик с iPhone (или устройства Android) на самом деле проблема?

Да, и в любом случае ваши серверы не могут отключить трафик с ПК и трафик с смартфона, если спамер сделал все правильно.

  

Если это так, есть ли лучшие альтернативы, которые ориентированы на мобильность на все еще-раздражающие-CAPTCHA?

Нет альтернативы captcha.

Такие вещи, как концепция , которая была связана в другом ответе, совершенно несравнимы с капчу. Captcha - это решение такого рода, поскольку надежное хеширование паролей - обфускация. Любой, обладающий несколькими навыками обратной инженерии, сможет сломать его.

Captcha (визуальный или аудио) опирается на ограниченную мощность компьютеров в наши дни и, следовательно, на их ограниченные возможности в распознавании изображений или звука. Другие решения просто полагаются на то, что спамер может быть слишком глупым, чтобы сделать правильный спамбот.

ответил Marin 9 FebruaryEurope/MoscowbSun, 09 Feb 2014 21:23:36 +0400000000pmSun, 09 Feb 2014 21:23:36 +040014 2014, 21:23:36
0

Когда технология, участвующая в распознавании голоса, эволюционировала до приемлемого уровня, это была бы реальная альтернатива сенсорному входу CAPTCHA. К сожалению, мы еще не совсем там, если читаем выводы Капиля Чалила Мадатиля и др. и др. article Оценка удобства использования CAPTCHA на мобильном устройстве с голосовым и сенсорным вводом . Они заключают, что ...

  

Результаты показывают, что пользователи могут не удовлетворять завершение CAPTCHA голосом, по крайней мере, при использовании текущего программного обеспечения для распознавания голоса Dragon Mobile SDK. Кстати, Siri - приложение для распознавания речи и персональный помощник, разработанный для iPhone, - не было доступно для использования на момент проведения этого исследования. Наши результаты также говорят о том, что Confident Touch - эффективный и удобный CAPTCHA для мобильных устройств. Дополнительным преимуществом этого CAPTCHA является его версия с пространственным разрешением, которая занимает меньше места на веб-странице и мобильном экране. В целом наши результаты в целом поддерживают использование CAPTCHA на основе изображений, где это возможно. Некоторые участники нашего исследования оказались разочарованы, пытаясь распознать искаженных персонажей в CAPTCHA Google, и некоторые даже упомянули о своем разочаровании похожими текстовыми CAPTCHA, встречающимися в Интернете. Однако оценки наших мер по обеспечению удобства использования для CAPTCHA Google, безусловно, были хорошими.

Но вещи быстро движутся в этом мире, и тот факт, что Сири не был протестирован, приносит надежду на будущее распознавания голоса CAPTCHA. До этого момента наилучшим вариантом является CAPTCHA на основе изображений.

ответил 4rchit3ct 9 FebruaryEurope/MoscowbSun, 09 Feb 2014 12:29:56 +0400000000pmSun, 09 Feb 2014 12:29:56 +040014 2014, 12:29:56
0

Как насчет генерации двух случайных чисел между 0 и 10 и спрашивать у пользователя, что представляет собой сумма этих чисел.

ответил Prasanth T P 11 FebruaryEurope/MoscowbTue, 11 Feb 2014 04:30:52 +0400000000amTue, 11 Feb 2014 04:30:52 +040014 2014, 04:30:52
0

Во-первых, чтобы защитить ваш API, добавьте новое входящее правило на ваш брандмауэр, который позволяет подключать только IP-адрес и порт вашего API к IP-адресу вашего веб-сервера /локальной сети (если разработчикам или другим машинам нужен доступ) даже если они размещены на одной машине. Это, конечно, означает, что вам нужно назначить уникальный порт для вашего API, но это не должно быть проблемой, если ваш API не является общедоступным. Это предотвратит запуск ботов непосредственно в ваш API.

Во-вторых, добавьте проверку Facebook или Google в свой процесс регистрации. Это означает, что вы автоматически получите выгоду от любых новых решений Captcha, которые будут реализованы ими в будущем. И это отлично подходит для пользователей, потому что им не нужно будет помнить еще один пароль.

Captchas - настоящая глазная боль и очень трудно читать иногда, и, судя по комментариям выше, определенно не стоит усилий.

ответил Tinus Neethling 30 TueEurope/Moscow2014-12-30T17:03:40+03:00Europe/Moscow12bEurope/MoscowTue, 30 Dec 2014 17:03:40 +0300 2014, 17:03:40
0

Один из вариантов может попросить пользователя ввести номер текущего мобильного телефона, отправив OTP на указанный номер и автоматически прочитав его ( пользователю не разрешается вводить тот же вручную ).

ответил Saurabh Kautilya Gupta 10 AM00000090000005531 2017, 09:48:55
0
  1. Попробуйте использовать OTP. Попросите пользователя ввести номер своего мобильного телефона.
  2. Простой математический вопрос.
  3. Есть флажок, указывающий, что я человек
  4. Найти нечетный вариант
  5. The Trivia Puzzle - Для примера: какой цвет неба?
ответил NB4 10 AM00000090000005931 2017, 09:59:59

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132