INTEGRITY Документация

Определение ответа Challenge Page

Когда вместо изначально ожидаемого ответа запрос получает Challenge Page от Cloudflare, ответ со страницей проверки (независимо от её типа) будет содержать cf-mitigated заголовок присутствует и имеет значение challenge. Этот заголовок позволяет определить, была ли применена проверка к ответу, при выполнении запросов fetch и XHR. Он даёт надёжный способ понять, является ли ответ проверкой, и позволяет веб-приложению принимать соответствующие меры по результату. Например, фронтенд-приложение, получив ответ от бэкенда, может проверить наличие этого заголовка, чтобы обработать случаи неожиданного появления Challenge Page.

Для cf-mitigated заголовок, challenge является единственным допустимым значением. Этот заголовок устанавливается для всех типов страниц Challenge Page.

В качестве примера ниже приведён фрагмент кода JavaScript, показывающий, как использовать cf-mitigated заголовок, чтобы определить, была ли применена проверка к ответу:

fetch("/my-api-endpoint").then((response) => {
	if (response.headers.get("cf-mitigated") === "challenge") {
		// Handle challenged response
	} else {
		// Process response as usual
	}
});