Посетитель видит капчу?
Посетитель видит капчу?
Никогда. Karma читает сессию незаметно и выносит вердикт; людей пропускает без трения.
Karma читает поведенческие и транспортные сигналы каждой сессии, оценивает адрес по вашей собственной базе репутации и по общему блеклисту ботов и уводит ботов на зеркало, оставляя людей на сайте - без капчи и без потерь в поведенческом факторе сайта.
14 дней Protect+ бесплатно · без карты и без капчи
Без капчи и агентов. Один асинхронный сниппет, всё по TLS.
Karma ставится одним тегом, и на всех платформах он один и тот же - меняется только файл, куда его класть. Ставьте его первым в <head>, выше аналитики и менеджеров тегов, чтобы он начал читать сессию раньше, чем его успеет задержать что-то другое.
<script async src="https://cdn.karma-verdict.com/karma-loader.js"
data-endpoint="https://collect.karma-verdict.com/t"
data-src="https://cdn.karma-verdict.com/karma.js"></script>
Больше ставить нечего: ни агента на сервер, ни смены DNS, ни прокси перед сайтом. Ваш шлюз спрашивает у Karma вердикт и продолжает отдавать страницу сам. Читать руководства по установке
Поведенческие и транспортные сигналы, своя репутация арендатора и опциональный общий блеклист, без капчи для посетителя.
Сайты, которые уже пропускают трафик через Karma. Когда боты перестают попадать на страницы, в аналитику и в поведенческие сигналы, поисковик начинает видеть сайт таким, каким его видят живые посетители.
Добавление защиты от ботов остановило падение трафика и привело к росту позиций через 3 недели.
Показатель отказов улучшился на 3% сразу после подключения.
Простая очистка трафика от ботов позволила трафику начать расти после года стабильности.
Сервис Karma Verdict предоставляется ООО «Файл Мастер» согласно тарифам по договору-оферте.
Пятнадцать ситуаций, в которых автоматический трафик перестаёт быть цифрой в отчёте аналитики и начинает стоить денег, клиентов или репутации. Если вы узнаёте в одной из них свой сайт - запросы уже идут.
Первая группа - про то, что автоматический трафик делает с сайтом, когда его находит. Ничего из этого не требует целевой атаки и упорного противника: так происходит с любым адресом, который достаточно долго отвечает на 443-м порту.
Credential stuffing - самая массовая атака в интернете и самая незрелищная. Списки пар «почта - пароль» из чужих утечек проигрываются против вашей формы входа: несколько запросов в секунду, с тысяч разных адресов, изо дня в день.
Экономике достаточно ничтожной доли успеха. Список из миллиона пар при повторном использовании пароля один раз на тысячу - это тысяча рабочих учётных записей: с сохранёнными картами, бонусами, историей заказов и адресной книгой, принадлежащих клиентам, которые обвинят сайт, а не собственные привычки.
Регистрации, обратная связь, заявки на расчёт, отзывы и комментарии притягивают автоматические отправки. Часть из этого - обычный спам, но большая часть тише: учётные записи создают пачками ради приветственных бонусов, ради отзывов или просто про запас, пока они не станут чего-то стоить.
Расплачиваются здесь люди, а не серверы. Кто-то в отделе продаж обзванивает список заявок, которых не существует, модераторы разбирают очередь, наполняющуюся за ночь, а база клиентов постепенно перестаёт быть базой клиентов.
Если сайт публикует цены, остатки, объявления или справочник - эти данные стоят того, чтобы их забрать. Конкуренты отслеживают их, чтобы ставить дешевле, агрегаторы перепубликовывают, а парсер читает весь каталог каждую ночь - быстрее и полнее, чем любой покупатель.
Блокировка по user-agent или диапазону адресов держится недолго: парсер, который стоит запускать, стоит запускать через резидентные прокси и с настоящим отпечатком браузера. Отличает его от покупателя не то, чем он представляется, а то, как он себя ведёт.
Кардтестинг не атакует магазин - он им пользуется. Список краденых карт проверяют небольшими авторизациями через любую кассу, которая их примет, и платёжная форма без всякого трения перед ней - идеальный для этого инструмент.
Сайт платит дважды. Сначала комиссиями и чарджбэками по операциям, которые никогда не были заказами, а потом - оценкой риска у платёжного провайдера: доля неуспешных авторизаций, поднявшись достаточно высоко, приводит к проверке торгового счёта, ограничениям, а в худшем случае к его закрытию.
Как только заметная доля сеансов становится автоматической, любые показатели, выведенные из трафика, уплывают. Конверсия падает, потому что раздут знаменатель, отказы и длительность сеанса перестают что-либо значить, а A/B-тестам нужно куда больше трафика, чтобы дойти до значимости, - или они тихо приходят к неверному выводу.
Решения при этом по-прежнему принимаются по этим цифрам. Кампанию оценивают, страницу переделывают, бюджет перекладывают - и всё это на измерении, куда входит большая аудитория, которая никогда ничего не купила бы.
Вторая группа - про привычный ответ и его цену. Проверку легко добавить и трудно убрать, а счёт она выставляет ровно тем, кого вы хотели удержать, почти не мешая трафику, ради которого её ставили.
Проверки ставят там, где риск: вход, регистрация, оформление заказа. Это же и те точки, где терпение клиента тоньше всего, а альтернатива - в соседней вкладке. Каждая головоломка - точка принятия решения, которой раньше не было, показанная человеку, уже решившему купить.
Потеря невидима самым неприятным образом: никто не пишет жалобу о том, что бросил корзину. Трафик по-прежнему приходит, заказы тихо не приходят, и причина выглядит как проблема конверсии, а не как настройка безопасности.
Сетки картинок и искажённый текст - барьер для всех, кто пользуется экранным диктором, для людей с нарушениями моторики, со слабым зрением и для большого числа пожилых клиентов, которым это попросту не даётся. Звуковые альтернативы не лучше, а хуже, и часто просто не работают.
Помимо потерянной продажи, это всё чаще юридический вопрос. Требования доступности к публичным сервисам не делают исключения для средства защиты, а «докажите, что вы человек» - плохое основание, чтобы отказать клиенту.
Решение проверок - услуга с опубликованным прайс-листом. Фермы живых решателей и автоматические сервисы разбирают картинки и текст за доли цента за штуку, что округляется до нуля на фоне стоимости захваченной учётной записи или подтверждённой карты.
В итоге проверка фильтрует по терпению, а не по намерению. Упорный атакующий платит и продолжает, а спешащий клиент - нет и уходит. Это ровно наоборот тому, что требовалось.
Мобильное приложение, работающее с API, интеграция партнёра, оформление заказа внутри webview, лента, которую читает клиентское приложение, - ни у одного из них нет места, где нарисовать головоломку, и ни за одним из них не сидит человек, который её решит.
Обычно именно эти точки самые ценные и самые незащищённые - просто потому, что стандартный ответ к ним неприменим. То, что их защищает, обязано принимать решение по самому запросу.
Сторонняя проверка загружает код в браузер каждого посетителя и отчитывается сервису вне вашего контроля, как правило в другой юрисдикции. В терминах приватности это обработчик - и он стоит на самых чувствительных страницах, какие у вас есть.
В режимах вроде GDPR это означает правовое основание, запись об обработке, соглашение об обработке данных и ответ на вопрос, куда именно эти данные уходят, - ради компонента, вся работа которого сводится к тому, чтобы прерывать клиентов.
Третья группа - про последствия, которые наступают ещё до того, как хоть одну учётную запись захватят. Трафик, который никогда не конвертируется, всё равно стоит рекламного бюджета, мощностей, товара и внимания. А рано или поздно кто-то за пределами технической команды задаёт вопрос, на который нужно отвечать доказательствами.
Платные кампании тарифицируются по кликам, а заметная доля кликов в некоторых сетях автоматическая. Деньги списаны, визит записан, отчёт аналитики показывает рост - и ничего из этого не было человеком.
Хуже того, этот трафик обучает оптимизатор. Автоматические стратегии ставок учатся на тех сеансах, которые им дают, поэтому канал, полный ботов, учит платформу покупать таких же ещё больше: бюджет накапливается в неверную сторону.
Агрессивный обход дорог в самом буквальном смысле. Каждый запрос стоит обращения к базе, отрисовки страницы, трафика, а на тарифицируемой платформе - ещё и строки в счёте. Один парсер, обходящий большой каталог, способен перевесить весь человеческий трафик небольшого магазина.
Проявляется это не только счётом. Это сайт, который тормозит ровно в неподходящий момент - на запуске кампании, на распродаже, наутро после упоминания, - потому что мощности, заложенные под клиентов, ушли на что-то другое.
Там, где предложение ограничено, а спрос привязан ко времени, исход решает скорость, а программа быстрее человека. Дропы, продажа билетов, уценённые остатки, слоты доставки, календари записи и окна регистрации притягивают автоматику, написанную ровно под этот момент.
Клиенты видят результат и делают вывод о бизнесе: что товара на самом деле не было или что он ушёл перекупщикам. Это впечатление обходится куда дороже самого товара.
Опросники безопасности от корпоративных клиентов, анкеты киберстрахования и правила платёжной отрасли спрашивают вариации одного и того же: что останавливает автоматический перебор учётных данных и злоупотребление платежами на ваших публичных точках и откуда вы знаете, что оно работает.
«У нас стоит CAPTCHA» не выдерживает уточнения, потому что уточнять будут про трафик, который её проходит. Нужна мера, существующая независимо от любой конкретной проверки, и запись о том, какие решения она принимала за проверяемый период.
Агентства, маркетплейсы и мультибрендовые компании ведут десятки сайтов на разных стеках, разном хостинге и разных доменах. У каждого свой профиль трафика, своя терпимость к ложным срабатываниям и своё представление о том, как выглядит нормальный посетитель.
Настраивать каждый вручную не масштабируется - как и узнавать о проблеме только по звонку клиента. Такому парку нужен один базовый набор правил, применённый везде, исключения на уровне отдельного сайта там, где он действительно отличается, и одно место, где видно всё сразу.
Никогда. Karma читает сессию незаметно и выносит вердикт; людей пропускает без трения.
Нет. Сниппет грузится асинхронно выше аналитики и буферизует ранние события; рендер не блокируется.
Karma работает в режиме fail-open: при сбое посетитель просто остаётся на сайте. Доступность важнее строгости.
Адреса, помеченные у вкладывающихся клиентов. Чтение опционально, по умолчанию выключено, включается с предмаксимального тарифа.
Да. Ваши списки всегда главнее платформы, не потеряете ни партнёра, ни полезного краулера.
Любой сайт: сниппет на чистом HTML плюс обёртки для React/Next, PHP, Vue/Nuxt, WordPress и GTM.
Классический софт для защиты от ботов отвечает на подозрительный запрос проверкой - капчей, промежуточной страницей, страницей блокировки - и обычно требует пустить трафик через свой прокси. Karma отвечает вердиктом: читает поведенческие и транспортные сигналы, оценивает сессию по вашей собственной базе репутации, а действует ваш шлюз. Ни головоломки, ни смены DNS, ни прокси перед сайтом.
И то и другое, разделённое ровно там, где вам нужен контроль. Karma детектит и оценивает, применение остаётся за вашим шлюзом: вы решаете, заблокировать бота, притормозить или увести на зеркало. Бесплатный тариф Detect отдаёт только вердикты - чтобы сначала посмотреть, а потом действовать.
Около пяти минут. Одна асинхронная строка скрипта в начале <head> и запрос вердикта из вашего шлюза. Тег одинаков для любого стека - HTML, React/Next, Vue/Nuxt, PHP, WordPress или GTM - и на сервер ничего ставить не нужно.
Да. Detect бесплатен, не требует карты и даёт 25 000 вердиктов в реальном времени в месяц вместе с вашей собственной базой репутации и списками allow и deny. Зеркала и общий блоклист ботов начинаются с платных тарифов.
С помощью Karma я устанавливаю асинхронный сниппет до аналитики, собираю поведенческие и транспортные сигналы сессии, включая HTTP/2- и JA3/JA3N-отпечатки, и передаю вердикт в шлюз. Я блокирую не один IP, а сессию с машинным поведением; свои белые списки оставляю выше репутации, поэтому офис, партнёрский API и полезные роботы не попадают под запрет.
Бесплатно без Karma я отключаю вход по скомпрометированным паролям, включаю MFA, добавляю одинаковый ответ для существующего и несуществующего аккаунта и считаю попытки одновременно по IP, логину и подсети за скользящее окно. Я завожу журнал успешных входов с нового устройства, уведомляю владельца и временно требую повторную аутентификацию; nginx limit_req использую только как первый слой, а не как единственную защиту от ботов.
С Karma я связываю отправку формы с вердиктом той же браузерной сессии и разрешаю обработку только после оценки реального поведения и транспортного отпечатка. Я оставляю CAPTCHA выключенной, применяю deny list к подтверждённой автоматике и allow list к доверенным интеграциям; если сервис репутации временно недоступен, fail-open не останавливает сам сайт.
Бесплатно я добавляю honeypot-поле, минимальное время заполнения, одноразовый CSRF-токен, подтверждение email и лимиты по IP, подсети, адресу и устройству. Я откладываю выдачу бонуса до подтверждённого действия, блокирую одноразовые домены по собственному списку и ежедневно сравниваю долю подтверждений; такой набор снижает спам, но его правила и ложные срабатывания я обслуживаю вручную.
С Karma я оцениваю всю сессию, а не строку User-Agent: последовательность действий, частоту переходов и транспортный отпечаток клиента. Я отправляю ботов на ограниченный маршрут или блокирую шлюзом, доверенным поисковым роботам задаю явный allow list и сохраняю собственную репутацию адресов, чтобы повторный обход отсекался быстрее.
Бесплатно я закрываю неиспользуемые API, ввожу пагинацию с подписанными курсорами, ограничиваю глубину и частоту запросов на nginx, кеширую дорогие ответы и ставлю отдельные квоты на поиск и выгрузку. Я проверяю официальных краулеров по обратному и прямому DNS, анализирую access.log по скорости обхода и вручную блокирую ASN или подсети, принимая, что резидентные прокси потребуют постоянной корректировки правил.
С Karma я получаю вердикт до отправки запроса к платёжному провайдеру и связываю его с поведением всей сессии, а не только с последним POST checkout. Я блокирую машинные сессии на шлюзе, разрешаю повторные попытки нормальным покупателям и передаю платёжной системе только очищенный поток, уменьшая число платных авторизаций и ложных отказов.
Бесплатно я токенизирую карту у платёжного провайдера, запрещаю произвольную сумму, ограничиваю число попыток по аккаунту, карте-токену, BIN, IP и подсети, а после нескольких отказов ввожу задержку и подтверждение email. Я включаю 3-D Secure по риск-правилам, не сохраняю CVV и строю алерт на отношение отказов к успешным платежам; правила приходится калибровать вручную по реальным заказам.
С Karma я запускаю сбор сигналов раньше счётчика, получаю вердикт сессии и отделяю людей от ботов до формирования аналитического события. Я оборачиваю найденный счётчик так, чтобы зеркало не создавало дубль, а при недоступности Karma аналитика запускалась по тайм-ауту; затем сравниваю конверсию по очищенным человеческим сессиям.
Бесплатно я создаю серверный идентификатор сессии, помечаю известные дата-центры и неестественные последовательности, исключаю внутренний трафик и фильтрую отчёты по подтверждённым событиям - входу, корзине или покупке. Я сохраняю сырой поток отдельно, чтобы не потерять данные при ошибке фильтра, и еженедельно пересматриваю регулярные выражения и списки роботов.
С Karma я заменяю явный challenge на фоновую оценку сессии: сниппет загружается асинхронно, не блокирует рендер и передаёт шлюзу вердикт до критического действия. Я пропускаю человеческие сессии без дополнительного шага, а автоматические останавливаю по совокупности поведения, репутации и транспортных признаков.
Бесплатно я убираю CAPTCHA для всех и применяю ступенчатую проверку только после риск-сигнала: слишком быстрый checkout, много карт, адресов или корзин на одну сессию. Я добавляю подтверждение email, idempotency key на заказ и серверные квоты, затем измеряю конверсию контрольной группы; собственный риск-движок и его исключения я поддерживаю сам.
С Karma я вообще не прошу посетителя доказывать, что он человек: решение строится по фоновым сигналам сессии и применяется шлюзом. Я сохраняю обычную семантическую форму, клавиатурную навигацию и сообщения об ошибках, а доверенные вспомогательные сценарии при необходимости закрепляю в allow list.
Бесплатно я удаляю недоступную CAPTCHA, добавляю скрытое honeypot-поле, серверную проверку времени заполнения, подтверждение email и лимиты на действие. Если дополнительная проверка всё же нужна, я предлагаю несколько эквивалентных способов - письмо, TOTP или обращение в поддержку - и тестирую их с клавиатурой и экранным диктором, не делая зрение условием доступа.
С Karma я не считаю решённую картинку доказательством: вердикт основан на поведении полной сессии, транспортном отпечатке и моей базе репутации. Я блокирую машинный поток даже при внешне корректном браузере, а собственные списки использую для подтверждённых партнёров и источников атак.
Бесплатно я считаю CAPTCHA только одним сигналом и после неё проверяю скорость, повторяемость полей, число аккаунтов, карт и действий на устройство. Я связываю токен с конкретной сессией и одноразовым действием, ограничиваю срок жизни, запрещаю повторное использование и ставлю серверные квоты; подозрительные результаты отправляю на отложенную модерацию.
С Karma я собираю браузерные сигналы там, где есть webview или веб-клиент, связываю их с серверной сессией и применяю вердикт на шлюзе перед вызовом ценного API. Для настоящих партнёрских клиентов я задаю отдельный доверенный маршрут или allow list, а анонимный поток оцениваю и ограничиваю независимо от User-Agent.
Бесплатно я разделяю человеческий и машинный API, выдаю партнёрам короткоживущие OAuth-токены с audience и scope, подписываю запросы и ввожу квоты на ключ и операцию. Для анонимных методов я использую nonce, idempotency key, лимиты по аккаунту/IP/подсети и серверную проверку последовательности; мобильную аттестацию считаю дополнительным, а не единственным сигналом.
С Karma я использую собственный контур репутации аккаунта, явно выбираю участие в общем блеклисте и не показываю пользователю стороннюю головоломку. Я документирую, какие поведенческие и транспортные сигналы собираются по TLS, ограничиваю захват полей необходимым минимумом и применяю вердикт без блокирующего внешнего виджета.
Бесплатно я реализую на своей стороне honeypot, временные токены, rate limit и журналы риска, не отправляя данные внешнему CAPTCHA-провайдеру. Я сокращаю IP и User-Agent в логах до нужного срока, исключаю содержимое форм, описываю обработку в политике и провожу оценку законного основания; цена бесплатного пути - собственная разработка и регулярный пересмотр правил.
С Karma я помечаю каждую рекламную сессию вердиктом по поведению и транспортным признакам, отделяю автоматический трафик до отправки ключевых конверсий и сохраняю источник, campaign и click id для доказательств. Я передаю рекламной системе только подтверждённые человеческие события и добавляю повторяющиеся источники в собственный deny list.
Бесплатно я сопоставляю access.log, click id, стоимость и серверные конверсии, исключаю повторные клики без нормальной сессии и загружаю подтверждённые офлайн-конверсии обратно в рекламную платформу. Я блокирую известные дата-центры, ставлю лимиты на форму и регулярно отправляю площадке отчёт по аномальным кликам; распределённые прокси требуют ручного анализа.
С Karma я выношу решение перед дорогой обработкой: шлюз получает вердикт сессии и не пускает подтверждённую автоматику к приложению и базе. Я локально кеширую решения, оставляю fail-open для доступности и разрешаю полезные индексаторы через приоритетный allow list.
Бесплатно я ставлю CDN-кеш на публичные страницы, ограничиваю частоту и одновременные запросы nginx, закрываю тяжёлый поиск минимальной длиной запроса и кешем, а API - квотами и подписанными курсорами. Я строю отчёт из access.log по URI, времени ответа и переданным байтам, затем вручную блокирую самые дорогие шаблоны и источники.
С Karma я оцениваю сессию до резервирования остатка и допускаю к операции только поток с человеческим вердиктом; машинные сессии шлюз останавливает ещё до транзакции склада. Я добавляю собственные списки для касс и партнёров и анализирую связанные вердикты, не заставляя каждого покупателя решать CAPTCHA.
Бесплатно я выдаю подписанный одноразовый токен очереди, ограничиваю резерв одним аккаунтом и платёжным инструментом, ставлю короткий TTL корзины и выполняю списание остатка атомарно в базе. Я добавляю email/телефон-подтверждение, лимит количества и постпроверку связанных заказов; распределённую автоматику и возврат ошибочных блокировок обрабатываю вручную.
С Karma я выгружаю историю сессий и вердиктов, фиксирую применённые allow/deny-правила и показываю долю остановленной автоматики по нужным точкам. Я документирую расположение сниппета, TLS-передачу сигналов, режим fail-open и владельца политики, а для проверки воспроизвожу тестовую машинную сессию и сохраняю результат.
Бесплатно я утверждаю письменную политику rate limit, MFA и реакции на злоупотребления, централизую access/auth/payment logs и храню изменения конфигурации в Git. Я ежемесячно провожу контролируемый тест, считаю попытки, блокировки и ложные срабатывания, подписываю отчёт ответственным; доказательность создаёт регулярная процедура, а не название инструмента.
С Karma я подключаю каждый домен подходящим сниппетом, но управляю репутацией, списками и вердиктами из одной панели аккаунта. Я использую единый общий слой сигналов, задаю явные исключения для конкретного сайта и распространяю подтверждённые источники через собственную базу, не копируя конфигурацию вручную между стеками.
Бесплатно я выношу правила nginx/WAF в один Git-репозиторий, описываю базовый шаблон и переопределения домена, проверяю конфигурацию в CI и разворачиваю её Ansible. Я веду центральный список CIDR с причиной, владельцем и сроком действия, собираю логи в одну систему и удаляю просроченные исключения по расписанию; поддержку детекторов и доставку изменений выполняю сам.
Три вопроса, на которые стоит получить ответ до того, как ставить что-либо перед собственным трафиком.
Защита от ботов - не самостоятельная тема, а точка, где сходятся автоматизированные клиенты, проверки, придуманные чтобы их останавливать, признаки, которые их выдают, и набор опубликованных стандартов. Ниже - источники, которые определяют каждое из этих понятий.
Ссылки ведут на сами источники: Wikidata там, где у сущности есть идентификатор, и первоисточник там, где его нет.