Защита от парсинга и ботов стала еще эффективнее — встречайте JS Challenge
В версии 1.19.5 нашего модуля для защиты сайтов на 1С-Битрикс появился JS Challenge — дополнительный механизм, который позволяет значительно эффективнее отличать реальных посетителей от автоматических систем. При этом версия 1.19.5 включает уже отлаженный и стабильно работающий механизм проверки.
Сегодня многие парсеры и боты научились имитировать обычные браузеры: они подменяют User-Agent, используют разные IP-адреса и соблюдают задержки между запросами. Из-за этого классических методов защиты иногда оказывается недостаточно.
JS Challenge решает эту проблему простым способом. При первом обращении посетителю предлагается небольшая JavaScript-проверка. Современный браузер проходит ее автоматически за доли секунды, практически незаметно для пользователя. Большинство парсеров, не поддерживающих выполнение JavaScript или работу с cookies, проверку пройти не смогут.
Как это работает
При первом обращении модуль выдает небольшую страницу проверки.
Если браузер:
- выполняет JavaScript;
- умеет работать с cookies;
то он автоматически получает специальную подписанную cookie и сразу возвращается на исходную страницу.
Если же запрос поступает от парсера или примитивного HTTP-клиента, который не способен выполнить JavaScript, проверка завершается неудачно, после чего модуль блокирует дальнейшие обращения.
Поисковые системы не пострадают
Отдельное внимание уделено поисковым роботам.
Если включена проверка поисковых систем через обратный DNS, модуль сначала подтверждает, что запрос действительно поступил от Google, Яндекса, Bing или Baidu. Такие роботы полностью пропускают JS Challenge и продолжают индексировать сайт как обычно.
Поддельные поисковые роботы, наоборот, обнаруживаются и блокируются.
Работа с композитным режимом
Для сайтов с включенным композитным режимом 1С-Битрикс предусмотрена специальная поддержка.
По умолчанию проверка выполняется со второго обращения посетителя. Такой режим позволяет сохранить максимальную эффективность композитного кеширования и практически не влияет на скорость работы сайта.
При необходимости можно включить строгий режим, в котором JS Challenge будет выдаваться уже при первом обращении нового посетителя. Это позволяет усилить защиту в проектах, где приоритетом является максимальная защита от автоматического сбора данных.
Новые возможности аналитики
Вместе с JS Challenge появились новые показатели эффективности защиты.
Теперь в административном интерфейсе можно увидеть:
- сколько проверок было выдано;
- сколько посетителей успешно прошли проверку;
- сколько проверок завершилось неудачей;
- процент успешного прохождения.
Почему это лучше других решений
JS Challenge стал еще одним уровнем защиты наряду с уже существующими механизмами анализа активности, блокировками по IP, User-Agent, географическим ограничениям и проверкой поисковых роботов. Совместная работа этих механизмов позволяет значительно сократить количество автоматических обращений к сайту, сохраняя при этом комфортную работу для реальных посетителей.