captcha что это за программа
CAPTCHA (капча): что это такое простыми словами
В век стремительного развития возможностей искусственного интеллекта возникает острая необходимость в идентификации человека. Современный взрослый пользователь ПК проводит до 80% своего времени перед экраном монитора: мы общаемся в соцсетях, ищем информацию, покупаем или продаем вещи, работаем.
С каждым днем разрабатывается множество различных компьютерных программ (ботов), способных успешно заменить живого человека на просторах интернета. Боты могут проходить опросы, участвовать в обсуждениях, ставить лайки и просматривать сотни страниц в минуту. Однако, не все такие программы одинаково полезны.
Что такое капча?
Чтобы обезопасить интернет-ресурсы от спама, кражи аккаунтов, фальшивых отзывов, владельцы сайтов ставят защиту.
Одной из таких защит является капча (от английского словосочетания CAPTCHA — “Completely Automatic Public Turing Test to Tell Computers and Humans Apart”)
Можно дословно перевести как полностью автоматизированный публичный тест для различения компьютеров и людей.
Для чего придумали капчу?
Идея капчи пришла английскому математику Алану Тьюрингу еще в 1950 году, когда он задался вопросом — а можно ли научить машину мыслить?
Суть теста Тьюринга заключается в том, сможет ли испытуемый понять, с кем он переписывается — с живым человеком или машиной.
Капчу стали использовать с 2000 года, когда заработок в интернете стал приобретать все большую популярность. Не секрет, что существует масса незаконных способов привлечения клиентов или увеличения количества просмотров страниц.
Очевидно, что нанимать людей для регистрации на сайтах и рассылки рекламных сообщений абсолютно невыгодно, ведь можно просто настроить программу.
Бот многого не просит, а работает за сотню человек без перерыва и выходных. Простенькая на первый взгляд капча стала эффективным методом борьбы с такими мошенниками.
Основная её идея — предоставить возможность пользователю решить такую задачу, с которой не справится компьютер. Как правило, задачи элементарные, но для искусственного интеллекта непосильные.
Какие бывают капчи
Бывают совсем запутанные капчи, предлагающие, например, решить уравнение или ответить на вопрос. Нередко такой выбор защиты становится слишком сложным для пользователей, и они просто покидают ресурс, не регистрируясь на нем.
Однако владельцев сайтов тоже можно понять – мошенники ежедневно придумывают все более совершенные способы обхода капчи, поэтому приходится держать руку на пульсе.
Виды капчи
Самая простая капча
С другой стороны, разработчики все же идут навстречу пользователям. Наряду с суперсложными капчами существуют и суперлегкие.
Сервис Google предлагает пользователям оптимальный вариант защиты, так называемую reCAPTCHA — вы наверняка видели ее сотни раз.
Не нужно заморачиваться с вводом символов или выбором картинок, нам просто предлагают поставить галочку в строке “Я не робот”. Действительно, мы же не роботы!
Защита пользователей
Капча нужна не только при входе в аккаунт или регистрации, она может внезапно появиться в процессе переписки или прервать множественные поисковые запросы.
Это происходит в том случае, если алгоритм заметит подозрительную активность – вы слишком быстро нажимаете на ссылки.
Чтобы подтвердить, что вы – не вредоносный бот, необходимо лишний раз щелкнуть мышкой и ввести пару букв или цифр.
Раздражает ли капча? Бывает. Однако не стоит забывать, что эти нехитрые действия были придуманы для нашей с вами безопасности и достоверности тех данных, за которыми мы обращаемся в сеть.
Какой бы простой или замысловатой не была капча, очевидно, что только лишь такого вида защиты недостаточно. Но все же она позволяет отсеять особо настойчивых ботов.
А это значит, что система экономит наше время и гарантирует достоверность представленной на сайте информации.
Как это работает: CAPTCHA
Сколько лет существует Хабр — столько лет на нём регулярно появляются посты про очередную капчу — будь то скрипт генерации картинки, новая идея капчи с котиками и тому подобное. Самый свежий пример того, что человек не совсем понимает — как же всё таки должна работать капча (см. текст поста и последние комментарии), но при этом делится своими заблуждениями с сообществом. Складывается ощущение, что капча — это такая terra incognita для большинства разработчиков — как для тех, кто просто прикручивает её к очередной форме в надежде на то, что она будет работать «из коробки», так и для тех кто придумывает капчи вроде тех, на которых надо выбрать картинку с котиком из нескольких фото.
Статья содержит полезную информацию для тех, кто использует капчу на своём сервере, вместо того чтобы довериться стороннему сервису вроде reCaptcha.
Captcha
Согласно своему определению, captcha — это автоматизированный публичный тест Тьюринга (тест который может пройти человек, но не компьютер). В статье я буду рассматривать свойтсва капчи на примере самого распространненого её вида — текста на картинке, хотя почти все написанное одинаково применимо к любому виду капчи.
Два главных свойства капчи
Любая капча должна обладать двумя свойствами, без которых она не будет работать:
Устойчивость к распознаванию — свойство, защищающее капчу от распознавания алгоритмом — например системой распознавания текста. Гарантирует то, что человек сможет прочитать текст на картинке, а компьютер нет.
Антипример: стандартная капча форумов phpBB 2.x таким свойством не обладала — из-за относительной простоты распознавания появились скрипты, которые спамили все подряд форумы вынуждая веб-мастеров менять капчу на более стойкую.
Устойчивость к угадыванию — свойство капчи, не позволяющее угадать её значение за небольшое число попыток (менее 1000). Если набор возможных значений капчи невелик, программе не составит труда угадать её подбором вместо распознавания.
Антипример: арифметическая капча вроде «1+2» (перебор чисел от 1 до 20 в скором времени даст результат).
Антипример: выбрать из нескольких картинок ту, на которой изображён котик.
Проверка капчи
Значение для проверки должно храниться на сервере, а не передаваться вместе с картинкой в браузер. Для сопоставления посетителя и правильного значения капчи необходимо использовать некий ключ, который передаётся вместе с капчей (идентификатор сессии, номер капчи и т.п.)
Антипример: если передавать саму капчу и значение для ее проверки (в том числе зашифрованное), то человеку достаточно один раз распознать такую капчу и далее использовать комбинацию «ответ»-«значение для проверки» в своём скрипте (по ссылке в начале поста как раз такой случай)
После проверки, сохраненное значение капчи необходимо удалить. Если не сделать этого, злоумышленник сможет использовать данное значение снова неограниченное число раз. Да, при обновлении страницы с формой обновляется и капча (либо при генерации формы, либо при генерации картинки), вот только скрипт может не загружать форму снова (надо упомянуть, что это не актуально если на сайте используются одноразовые csrf-токены для форм).
Антипример: гипотетическая форма логина, в которой достаточно один раз ввести капчу правильно, и далее подбирать пароль скриптом, избегая перегенерации капчи на сервере.
Пуленепробиваемая капча
Защита от перебора. Если ваша капча устойчива к распознаванию, но не очень устойчива к перебору (например на ней надо прочитать всего 3-4 цифры), желательно ограничить число неправильных ответов «с одного ip» / «для одного логина» / etc. Такие ограничения необходимо проверять ДО проверки самой капчи (то есть даже в случае правильно введенной капчи, при наличии ограничения она не должна считаться пройденной) иначе оно не будет препятствовать перебору.
Защита от DoS. При генерации капчи на своем сервере, надо понимать что это удобный вектор проведения DoS атак (которую, в отличие от DDoS, может устроить любой школьник). Для защиты можно ограничить число генерации капчи для одного ip, кэшированием капч и т.д. Подробнее про это
Защита от распознавания. Если вы выбираете капчу, или вдруг собираетесь написать её сами, желательно понимать какая капча более защищена от распознавания. Существуют готовые универсальные скрипты распознавания капчи, работающие по принципу OCR, а в случае если ваш сайт заинтересует спамеров есть риск, что будут использовать / писать скрипт конкретно под вашу капчу. Последнее правда относится больше к сайтам уровня Яндекс или vk, а вот вариант с защитой от банальных OCR желательно предусмотреть.
Защита от антигейтов. Если говорить формально, то капча как тест Тьюринга не обязана защищать вас от антигейтов, так как в этом случае её будет распознавать человек. С практической же точки зрения, этот вопрос весьма актуален и защищаться как-то надо.
Тут нет и не может быть «золотого стандарта» (ибо в таком случае антигейты внедрят его поддержку), поэтому вы вольны дополнять капчу любыми ухищрениями, чтобы сделать её распознавание через антигейт невозможным. Например:
— нестандартная капча (сбор паззла, поворот изображения, клик по области на фото и т.п.);
— кириллическая капча — самое простое решение, но имеет ряд минусов: подходит только для проектов с русскоязычной аудиторией, есть антигейты с поддержкой кириллицы;
— использование виртуальной клавиатуры рядом с капчей для ввода нестандартных символов или фигур (может быть неудобно пользователям мобильных);
Юзабилити
Не просите ввести капчу, если вы уже убедились, что перед вами человек. Тут однако, надо быть осторожным, чтобы форму нельзя было использовать скриптом неограниченное число раз после однократного ввода капчи человеком.
Пример: форма регистрации. Если я где-то регистрируюсь, и забыл ввести поле «почтовый индекс», но правильно ввёл капчу — не надо показывать мне новую. Потратьте 10 минут на то, чтобы сохранить где-то у себя, что вот эту конкретную форму сейчас пытается заполнить живой человек.
Для облегчения распознавания человеком: не используйте в капче одновременно буквы и цифры, не используйте одновременно прописные и строчные буквы, исключите похожие символы.
Отказ от использования капчи
Лучшая капча — отсутствие капчи. Там где можно отказаться от её использования — это надо сделать. Возможно для этого придется реализовать дополнительные лимиты и проверки, но пользователи скажут вам спасибо.
Но тут надо быть очень осторожным. Например: форма регистрации без капчи, с полем email на который приходит письмо с активацией. Без дополнительных средств защиты такую форму могут завалить «левыми» адресами, и ваш сайт включат в черные списки почтовые службы. В таком случае можно обходиться без капчи, но только если у вас есть другой рубеж защиты, вроде лимита по ip.
Кому то информация в этом топике покажется очевидной, но если бы я не сталкивался с примерами непонимания этих простых принципов в жизни, в том числе у опытных коллег-разработчиков, я бы не стал тратить время на написание этого текста.
Капча что это такое и для чего нужна – ТОП-5 сервисов + способы заработка на Captcha
Приветствую, дорогие читатели и гости моего блога. Сегодня расскажу, как защитить свой ресурс от спама и не дать его распространение. Рассмотрим процесс установки и использования проверочных расширений на своем сайте.
Каждый день множество пользователей сети Интернет сталкиваются с такой вещью как капча. В этой статье речь пойдёт о том, что такое капча и для чего она необходима.
Капча – что это такое простыми словами
Капча – это генерируемый программой тест-проверка, что используется для определения того, кем является пользователь: ботом, что используется для рассылок спамных сообщений или человеком (с английского Captcha). В большинстве случае представляет собой картинку с искажённым набором букв. Рядом с картинкой находится поле, куда он должен ввести символы с картинки. В последнее время, часто используются и другие виды капч. Ему необходимо выбрать одну подходящую картинку из нескольких предложенных или поставить галочку в определённом месте экрана.
Главное её предназначение – защита определённых разделов ресурса от роботов, что написаны для парсинга и рассылок спама. Дело в том, что теперь все системы рассылок рекламы уже автоматизированы, и людям занимающимся рассылками спама не надо самостоятельно регистрировать аккаунты.
Капча очень полезна для владельцев ресурсов, так как убрать спам можно только таким образом. Если б не защита в виде введения проверки кода, то на большинстве популярных порталов и форумов было бы множество ботов, рассылающих спамные сообщения.
Как использовать на своём сайте капчу от гугла
Компания Google предлагает бесплатный сервис Google reCAPTCHA, что предоставляет капча для защиты различных форм ввода данных.
Как установить капчу на своём ресурсе? Чтобы использовать этот сервис на своём форуме, необходимо выполнить ряд действий, о который пойдёт речь ниже:
Приложу видео по настройке данного компонента на своем сайте:
Примеры расширений для установки капчи
На сегодня, для системы WordPress существует большое количество captca-плагинов. Отдельного внимания заслуживают несколько самых популярных инструментов из этой категории. Каждый из этих плагинов имеет разные концептуальные взгляды и обладает рядом преимуществ.
1. Captcha
Это один из самых популярных плагинов, так как он простой и понятен в использовании, в нем нет ничего лишнего. Используя эффективные логически схемы, плагин может полностью защитить ваш портал от спама. Основными его преимуществами являются:
2. Captcha code
Плагин может добавить защиту в любые формы на ресурсе. Текст, который нужно ввести, отображается в виде букв и цифр синего цвета с зачёркнутыми линиями, которые защищают от разных распознавательных программ. Благодаря этому, спам на ресурсах, где установлен данный плагин, почти не появляется. Исполнителям распознать код – довольно легко. Плагин отличается множеством настроек – администратор может выбрать количество символов в капче, а также, для каких форм её выводить. Основные преимущества:
3. WP-reCAPTCHA
Этот плагин является одним из самых популярных, так как обеспечивает наилучшую защиту, но в некоторых случаях, не всем исполнителям удастся с первого раза ввести правильный код. Администраторы могут менять оформление окна капчи, а также поставить её в любую форму. Основные достоинства следующие:
4. Really Simple CAPTCHA
Отличается своей простотой в установке и настройке. Изначально данный портал создавался как дополнительный модуль для плагина Contact Form. Все капчи, которые появляются при заполнении форм, сохраняются во временную папку и весят несколько килобайт. Среди преимуществ можно выделить:
5. Secure CAPTCHA
Плагин отличается тем, что используется рукописный код, что существенно усложняет работу программ-дешифровщиков для взлома. Для исполнителей такая капча также будет несколько сложной. Для того чтобы установить этот плагин, нужно зарегистрироваться на сайте разработчика и получить специальные ключи.
Как зарабатывать на капче деньги: ТОП-5 лучших
Заработок на капче – один из самых простых и лёгких способов заработка в интернете, ведь пользователю для не требуется никаких профессиональных навыков. Оплата за одну капчу – довольно невысокая. Если уделять этому по несколько часов в день, заработать на вводе капч можно вполне неплохую сумму. Среди большого разнообразия сайтов по заработку капч можно выделить 5 лучших. На них и оплата выше, и есть гарантия того, что ваша робота будет оплачена.
№1: RuCaptcha
RuCaptcha – самый популярный сайт для заработка денег в Рунете. Сервис решает задачи, что касаются расшифровки различных изображений, которые используются различными ресурсами для защиты от программ, что освобождает веб-мастера от монотонной работы. Минимальная цена за капчу составляет 0,01 руб.
Одной из главных особенностей является то, что в ночное время цена за работу увеличивается в 2 раза. Также, если у исполнителя есть высокий рейтинг, ему попадаются капчи с большей стоимостью. Вводить символы необходимо с осторожностью, поскольку на сервисе негативно относятся к ошибкам. При первых ошибках, пользователя предупредят, при последующих возможна блокировка аккаунта на некоторое время, от нескольких минут до двух суток. В сравнении с другими сервисами для заработка денег, RuCaptcha имеет следующие преимущества:
№2: 2Captcha
2Captcha – это англоязычный портал по заработку на капче, что является одним из первых, что появились в данной сфере. Внешний вид оформлен в таком же стеле як и RuCaptcha. На сайте постоянно трудится несколько сотен тысяч пользователей. Алгоритм работы заключается в следующем: Пользователь входит в систему, после чего вебмастер посылает ему задание. Если исполнителей несколько, то задание посылается тому, кто дольше всех ожидает. Стоимость 1000 введённых капч начинается от 35 центов, и может достигать 80 центов за введение более сложных капч.
2Captcha – проверенный сайт, на котором никогда не возникает задержек в выплате денег. Минимальная стоимость вывода – 0,5 долларов. Вывод может осуществляться на Вебмани, PayPal, а также на банковские карты Виза и Мастеркард.
№3: Megatypers
Этот портал был создан сравнительно недавно, но за короткий промежуток времени является одним из самых популярных. Портал – зарубежный, поэтому интерфейс полностью на английском. В отличие от других сайтов, на этом пользователи могут зарабатывать на распознавании звуковых капч. Также на сайте довольно хорошо реализована реферальная система, что позволяет исполнителю с большим количеством рефералов получать неплохие дивиденды. Для регистрации аккаунта на Megatypers необходимо ввести инвайт-код. Оплата за капчу может достигать 0,01 доллара. Минимальная сумма вывода составляет 3 доллара. Выплачиваются деньги каждый понедельник.
№4: Kolotibablo
Данный сервис является первым среди сайтов, которые специализируются на вводе капчи. Со временем его модернизировали, и теперь он имеет очень приятный дизайн. Капчи бывают как на кириллице языке, так и на латинице. В среднем, стоимость 1000 капч составляет 0,7 доллара. За более сложные задания можно заработать вплоть до 1,5 у. е. Выплата производится на Yandex.Money, Qiwi Wallet, Paypal, Payza при минимальной сумме в 1 доллар.
№5: Antigate
Antigate – популярный в Рунете портал, что функционально очень похож на Kolotibablo. За одну введённую капчу исполнитель получает от 0,02 руб и больше. На Antigate есть партнёрская программа, что предусматривает выплату в 10% за приглашённых в систему исполнителей. Вывод заработанных средств осуществляется через платёжную систему Вебмани. Вывод начинается от 2 долларов.
CAPTCHA: убивая конверсию
Капча считается международным стандартом защиты от DDoS-атак, автоматических регистраций и спама. Мы в Variti проанализировали эффективность этого решения и пришли к заключению, что это очень неудобное и малоэффективное средство защиты от ботов, плохо влияющее на конверсию, а области с капчей — это сами по себе уязвимые места для атак.
Мы решили поделить причины, по которой от капчи надо избавляться в пользу более надежных и менее раздражающих пользователей решений, на маркетинговые и технические.
Маркетинговые
Капчу необходимо внимательно разглядывать и периодически вводить несколько раз. Исследование Стэнфорда говорит о том, что их испытуемые в среднем тратили 9.8 секунд, чтобы распознать и ввести визуальную капчу и 28.4 секунды на аудио-версию, причем 50% пользователей отказались ее решать. В 2018 году Baymard Institute, который проводит различные исследования на тему UX, подсчитал, что пользователи не могут решать текстовые CAPTCHA примерно в 8% случаев. Эта цифра увеличивается до 29%, если CAPTCHA чувствительна к регистру.
Прежде всего, это все-таки проблема юзабилити, поскольку эта функциональность заставляет пользователя выполнять лишнее действие (а плюс к этому капча не всегда уместно и красиво выглядит в дизайне страницы). Особенно четко это проблема проявляется, если при неправильном вводе решения перезагружается вся страница целиком: например, если пользователь долго набирал длинный комментарий, а потом он пропал при неверном решении. Процент вероятности того, что человек начнет все заново, не очень велик.
Помимо этого, на рынке уже существует несколько решений для создания капчи, которые размещают в ней рекламу (например, предлагают собрать паззл из логотипа компании). Это не может не сказаться на градусе настроения пользователя.
Наконец, это очень неудобно для людей с нарушениями координации или проблемами со зрением, и даже для тех, кто не различает цвета, ведь далеко не все внедряющие визуальную капчу владельцы ресурсов добавляют к ней звуковую. Плюс к этому капча особенно раздражает “возрастную” аудиторию и ту, где есть большой процент людей с низким уровнем компьютерной грамотности или незнанием английского языка.
Плохо влияет на конверсию
Как известно, вообще любое лишнее поле для заполнения на сайте ухудшает конверсию. Вот интересное исследование, которое показало, что отказ от капчи приводит к росту конверсии на 3,2%. Точные данные по изменению конверсии в зависимости от капчи каждый ресурс может протестировать самостоятельно, ведь результаты зависят от специфики и аудитории. Но если подходить к проблеме с точки зрения упущенной выгоды, то необходимо посчитать затраты и эффективность в обоих случаях — намного ли выгоднее включать капчу, чем избавляться от спама другими средствами? Тем более, что они есть.
Капчи стали сложнее
За эти годы CAPTCHA стал умнее, но и боты стали развиваться стремительнее и становиться более изощренными. В начале 2000-х простых изображений с текстом было достаточно, чтобы остановить большинство спам-ботов, но с каждым годом тексты приходится всё сильнее искажать, чтобы обгонять программы по распознаванию символов. Вы сами можете заметить, что в капчах, где нужно выбрать несколько нужных изображений, после нескольких неудачных попыток объекты для поиска прячутся или искажаются, добавляются новые классы объектов и увеличивается количество страниц, которые нужно пройти. Соответственно, при усложнении увеличивается и количество отказов у реальных пользователей. Конечно, Google решает свои дополнительные задачи, используя эти алгоритмы для обучения своих роботов распознаванию объектов на изображениях и вряд ли от них откажется, но пока что все выглядит так, как будто все, что делает капча, это отсеивает не очень умных ботов и невнимательных людей.
Еще в далеком 2014-м Google стравила между собой свой лучший алгоритм по разгадыванию самых искажённых текстов и людей: компьютер правильно распознал текст в 99,8% случаев, а люди всего в 33%.
Технические
Капчу легко обойти
Капча не выполняет свою основную функцию — не избавляет владельцев ресурсов от ботов. Вариантов “борьбы” спамеров с капчей даже больше, чем один.
Системы распознавания и нейросети
Системы OCR (оптическое распознавание символов) сейчас работают довольно точно и легко распознают как печатный текст, так и изображения. Решение добавлять “шумовой” фон, лишний цвет и линии, искривлять или сдваивать текст не особенно помогает это предотвратить, зато усложняет прохождение для реального человека.
С развитием технологий машинного обучения и нейронных сетей глубокого обучения дальнейший процесс визуального усложнения капч выглядит бесперспективным. Полносверточная нейронная сеть, в которой на входе подается изображение, а на выходе выдается нужное изображение или несколько изображений (карты центров) распознает текстовые капчи в большинстве случаев. Однако для нее же решаема и капча с выбором нужных картинок ибо обнаружение и классификация объектов — ведь это именно то, чем и занимается нейросеть (в том числе та самая нейросеть reCAPCHA от Google). Да и некоторые библиотеки, позволяющие работать с нейронными сетями, тоже разработаны в Google (например, Tensorflow).
Существуют сервисы взлома, при которых берется и транскрибируется аудио-версия капчи. При успешном развитии систем распознавания голоса это тоже перестает быть проблемой для опытных спамеров. Есть алгоритмы и скрипты, такие, например, как алгоритм Кока-Янгера-Касами для распознавания двухмерной грамматики, который может распознать более 50% капч. Есть и другие способы обхода проверки:
Существует целый рынок услуг, предлагающих обойти капчу, и это очень дешево. В этой индустрии заняты тысячи реальных людей — жителей Индии или Китая, которые за небольшую плату проходят тесты. Специальные биржи типа Amazon Mechanical Turk предлагают купить десятки разгаданных капч за несколько центов, а многочисленные сервисы еще и постоянно сбивают эту цену. Они же постоянно тысячами создают новые “чистые” аккаунты, которые проходят проверку спам-систем на сайтах легче и быстрее всего.
Наконец, существуют онлайн-ресурсы с “интересным” содержанием типа игр или контентом для взрослых. Прежде чем пользователи смогут увидеть следующую порцию контента, система сделает бэкэнд запрос к Yahoo или Google, захватит оттуда капчу и подсунет её пользователю. И как только пользователь ответит на вопрос, хакер отправит разгаданную капчу на целевой сайт. Популярный сайт с востребованным контентом сделать несложно, если парсить (или попросту красть) интересный контент с целого ряда “легальных” порталов (мы в своей работе часто сталкиваемся с такими “копипастерами”). А хакер в итоге получает большую аудиторию, которая разгадывает чужие капчи, не подозревая об этом.
Не различает плохих и хороших ботов
Помимо плохих ботов, существуют и хорошие — это роботы поисковых систем и браузеров, полезные корпоративные боты разных сервисов, которые ищут или размещают информацию или предлагают пользователю помощь, автоматизируя работу техсаппорта компании или продажи ее услуг. Например, по данным GlobalDots, на текущий момент человеческий трафик составляет 62.1%, плохие боты 20.4%, а хорошие 17.5% (то есть отставание от плохих не такое уж и критичное). К сожалению, метод капчи не различает плохих и хороших ботов, не пропуская равно всех, хотя “хорошие” боты могли бы быть полезны.
Большинство капч сторонние — предоставленные тем же Google или разработчиками капч-решений. Но во многих случаях их генерированием занимается тот же сервер, на котором расположен сайт, и тогда это становится уязвимым местом для атак.
Генерация некоторых видов капч — это достаточно ресурсоемкая операция и идет она не быстро, так как требует запросов к сторонним библиотекам и в целом работает с изображениями. В случае, если кэширование по дефолту не предусмотрено или по каким-то причинам выключено, это еще больше мороки. Если атакующий ставит задачу создать избыточное количество запросов на генерацию капчи, то сервер может не успевать это делать.
Впрочем, эта проблема решаема:
Замедляет работу сайта
Небольшое замедление может показаться не настолько важной проблемой, но вы будете не правы, если не будете обращать на это внимание. Посмотрите вот на это исследование: в то время как пятая часть маркетологов не считает, что время загрузки влияет на коэффициент конверсии, почти 70% людей признают, что скорость страницы влияет на вероятность покупки.
Как капча может влиять на скорость?
Увы, нет. Есть еще несколько моментов.
Во-первых, капчи могут ломать логику работы сайта — особенно в случаях, когда заполнение формы заканчивается капчей, причем не всегда пользователь об этом предупрежден. Однако и вариант “показывать капчу только на входе” не решает задачу защиты от спамеров, ведь получается, что после одноразового прохождения они могут делать дальше все, что захотят.
Во-вторых, давайте подумаем о поисковых системах. Если поисковые системы “обеляются” по user-agent, то капча неэффективна. Если капча показывается всем — то может показаться и поисковикам, и сайт будет иметь проблемы с индексацией.
Существует множество других форм защиты, порой даже более эффективной для борьбы с ботами. Например, на фронтенде это могут быть минимальное время заполнения формы, меньше которого может заполнить только бот, или скрытое поле (display:none), которое не увидит человек, но заполнит бот.
На сетевом уровне это могут быть обфускация или шифрование HTML, блокирование определённых user-agent и различные ловушки со стороны веб-сервера: например, создание невидимых разделов сайта, куда попадают только роботы и позже банятся по IP, или фильтрация анонимных прокси.
И, наконец, есть метод, который мы применяем в Variti — это полная фильтрация трафика, который мы считаем единственным полноценным подходом в защите от ботов и DDoS-атак. Мы пропускаем через свои кластеры весь трафик, который идет на сайт или приложение клиентов, а специально настроенные и самообучающиеся алгоритмы определяют и пропускают дальше легитимный трафик от живых пользователей и “хороших” ботов, причем блокировки IP в этом процессе также не требуется. Впрочем, о том, почему мы считаем еще и метод блокировки IP вредоносным, мы поговорим в следующих статьях.