Статьи

Лучшая капча: мы еще там?

Фото: Анна Фишер Фото: Анна Фишер CAPTCHA (Полностью автоматизированный публичный тест Тьюринга, рассказывающий о компьютерах и людях отдельно) — это кошмар для любого эксперта по юзабилити, но если мы хотим уменьшить спам, нам они нужны или что-то еще на месте.

Хотя существует множество альтернатив CAPTCHA (или менее известных разновидностей CAPTCHA), вы можете утверждать, что ни одна из них не подходит для массового использования в Интернете.

Некоторые из существующих альтернатив CAPTCHA могут использоваться в некоторых случаях в качестве замены CAPTCHA, но они не решают проблему в целом. И проблема вполне реальная — капчи наносят ущерб пользовательскому опыту и конверсиям.

Идеальное решение для защиты от спама

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

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

Пользователь спросил в старом потоке в StackExchange об альтернативах CAPTCHA и перечислил следующие требования, которым должны соответствовать такие альтернативы:

  1. Это должно быть доступно.

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

  3. Это не может отвлекать или отвлекать от основной цели страницы.

  4. Это должно быть автоматизировано или требовать очень небольшой модерации в больших масштабах.

  5. Это не может быть сторонний сервис.

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

В дополнение к ним я бы добавил еще 2:

  1. Это не должно создавать огромную нагрузку на сервер / браузер.

  2. Он должен иметь низкий процент ложных срабатываний и ложных отрицаний.

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

Итак, давайте обсудим основные разновидности и альтернативы CAPTCHA, чтобы вы сами убедились, что, к сожалению, при прочих равных (текст) CAPTCHA — меньшее зло.

Сорта CAPTCHA и другие антиспамовые альтернативы

рекапчи

Когда мы говорим CAPTCHA, мы в основном думаем об этом:

рекапчи

Этот тип CAPTCHA называется reCAPTCHA, и теперь он является частью Google. reCAPTCHA отображает «буквенный код», который обычно не образует слово (для предотвращения атак по словарю), которое пользователь должен ввести.

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

ReCAPTCHA Плюсы:

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

reCAPTCHA Минусы:

Часто независимо от того, сколько раз вы обновляете, все, что вы получаете, это новый набор одинаково неразборчивых букв. Это раздражение reCAPTCHA мы все знаем. « Это сжатое« L »или сжатое« 1 »? «

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

Например, если у пользователя нарушен слух, или если он или она просто не понимает названия написанных букв, как это может быть в случае с международными пользователями. Возможно, они могут читать ваш английский контент (возможно, с помощью Google Translate), но звуки « el .. too..five… jay… bee… .em » для них ничего не значат .

Даже простое требование работающей звуковой карты может быть проблемой для пользователей со старым оборудованием и / или библиотеками ПК и интернет-кафе.

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

Вот некоторые сорта капчи и их плюсы и минусы.

Pure Audio CAPTCHA

Как следует из самого названия, аудио CAPTCHA использует звук, а не текст для фильтрации ботов. У reCAPTCHA есть опция аудио, поэтому, если вы хотите попробовать концепцию, вам не нужно искать дальше.

Что касается минусов, мы уже обсуждали их в предыдущем разделе — барьер для слабослышащих и / или международных пользователей.

В общем, аудио CAPTCHA, как правило, не лучше, чем садовый сорт reCAPTCHA.

Image CAPTCHA

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

Нажмите на цветок

Плюсы изображения CAPTCHA:

Это делает игру из процесса CAPTCHA.

Минусы изображения CAPTCHA:

Есть несколько проблем с этим подходом.

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

Во-вторых, эти образы должны быть однозначными и легкими для понимания. Это должны быть простые объекты — яблоко, кошка, машина и т. Д. — которые очевидны для всех. Если вы добавите что-то необычное, вы никогда не узнаете, как ваши пользователи будут декодировать изображение и сколько раз им придется повторно отправлять CAPTCHA.

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

Видео капчи

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

Простые математические вопросы / CAPTCHA

Математический вопрос

Я подозреваю, что после текстовых reCAPTCHA это второй по популярности тип CAPTCHA.

Принцип таков: вы вводите простую математическую задачу или вопрос, например «2 + 2 =?» Или «Какой самый короткий месяц года?», И пользователь должен ввести ответ.

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

3D капчи

По сути, 3D CAPTCHA раздражают даже больше, чем сама reCAPTCHA, но если вы хотите поэкспериментировать, если ваши пользователи понравятся им больше, вы можете это сделать. 3D CAPTCHA выглядят не так просто, но их еще труднее читать. Вы можете попробовать их для разнообразия, но я чувствую, что ваши пользователи не найдут их более привлекательными.

CAPTCHA Альтернативы

В дополнение к разновидностям CAPTCHA, существует множество альтернатив, не основанных на CAPTCHA. Я не хочу быть предвзятым, но большинство этих альтернатив даже близко не приближаются к эффективности CAPTCHA. Читайте об этих альтернативах и судите сами, если мы застрянем с CAPTCHA на годы или нет.

Флажки

Флажок: отметьте это, если вы не бот.

Флажки рядом с полем, такие как «Отметьте это, если вы человек / не робот.» Являются одной из лучших альтернатив CAPTCHA. Флажки создаются с использованием клиентского JavaScript и теоретически они невидимы для бота. Они не так раздражают, как капчи, но пользователи легко их пропустят.

Флажки не на 100% защищены ботом, и не у всех пользователей включен JavaScript, но если вы абсолютно ненавидите CAPTCHA, вы можете попробовать установить флажки.

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

Honeypots

Honeypots используют противоположный подход, по сути, попросив ботов идентифицировать себя.

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

Из всех альтернатив CAPTCHA приманки выглядят наиболее перспективными. Они обычно реализуются через CSS, поэтому на стороне клиента нет азартных игр.

Однако у них есть недостатки.

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

Фильтрация на основе правил

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

Служба фильтрации спама Akismet

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

Белые и черные списки IP

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

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

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

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

Телефон / Электронная почта Подтверждение

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

Другие услуги

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

Вы можете уменьшить количество спама, если разрешаете публиковать сообщения только пользователям, зарегистрированным на таких сайтах, как OpenID , Disqus , Facebook или G + . Тем не менее, бот также может иметь учетную запись в этих службах и выдавать себя за человека.

Проблемы конфиденциальности являются очевидной проблемой при таком подходе.

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

Привилегии на основе рейтинга пользователя

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

Автоматическое утверждение сообщений от доверенных пользователей

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

Права модерации / флага для доверенных пользователей

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

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

Принцип прост: вы можете опубликовать ссылку, если у вас есть как минимум 10, 20, 50, 100 или любое количество сообщений, и / или вы были участником в течение месяца, трех месяцев или любого периода время. Это останавливает ботов, но не удобно для обычных пользователей. Конечно, этим подходом также можно злоупотреблять (т. Е. Публиковать необходимое количество чистых сообщений, а затем начинать рассылать спам), но для этого нужно приложить немало усилий.

Сочетание двух или более подходов

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

Вы можете комбинировать два или более подходов, хотя.

Например, вы можете использовать Akismet или reCAPTCHA для грубой фильтрации спама, а затем сделать так, чтобы Akismet или reCAPTCHA пропустил администратор. Для крупного администратора сайта модерация несколько болезненна просто из-за огромного количества постов и комментариев.

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

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

Мы уже на месте?

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

В настоящее время мы не можем сделать (намного) лучше, чем CAPTCHA, но мы можем разработать лучшие CAPTCHA — и это действительно имеет значение.

Для начала, одно огромное улучшение, которое вы можете сделать, — это всегда сохранять данные, введенные пользователем в форму.

Есть ли что-нибудь более жестокое, чем наблюдение за тем, как все данные, которые вы старательно вводили в форму, испаряются в эфир просто потому, что вы думали, что волнистый «h» — это волнистый «n»?

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

Очевидно, что чем проще CAPTCHA, тем выше уровень спама и наоборот. У вас может возникнуть соблазн использовать самую сложную капчу, но это хуже всего для удобства использования.

Нам нужно найти точку равновесия. Вы, вероятно, никогда не будете на 100% свободны от спама — это утопия — вы стремитесь к приемлемым уровням, поэтому просто проверьте, на каком уровне сложности уровни спама более или менее приемлемы, и не выходите за его пределы.