Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Challenge Page のレスポンスを検出する

最終更新 Markdown で表示Agent セットアップ

リクエストが当初想定したレスポンスではなく Cloudflare Challenge Page に遭遇した場合、Challenge Page のレスポンス(種類にかかわらず)には cf-mitigated ヘッダーが存在し、値は challenge です。このヘッダーを使い、fetch / XHR リクエストでレスポンスがチャレンジされたかを検出できます。Challenge かどうかを確実に識別できるため、Web アプリケーションは結果に応じた処理ができます。たとえば、フロントエンドがバックエンドからのレスポンスを受けたとき、このヘッダー値の有無を確認し、想定外の 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
	}
});

役に立ちましたか?