CORS テスター&ポリシーアナライザー
ブラウザーで CORS を試すか、任意のオリジンでプリフライトをシミュレート
リクエスト
サーバーからのリクエストによるシミュレーションです。実際の結果はブラウザーが適用します。CodingTool のサーバーは Cookie、ヘッダー値、本文を含めずにプリフライト(対象メソッドなら GET または HEAD も)を送信し、レスポンスヘッダーだけを返します。何も保存しません。
Origin ヘッダーとして送信します。サンドボックス化されたページやローカルファイルを試すには null を使います。
1 行に 1 つ入力します。サーバーに届くのはヘッダー名だけで、値はブラウザー内に残ります。
単純リクエスト: ブラウザーはプリフライトなしで送信します。
Cookie や HTTP 認証付きリクエストのルールを確認します。実際には何も送信しません。
無関係なオリジン https://cors-probe.example でプリフライトを 1 回追加送信します。
結果
レスポンスヘッダー
テスト後、ここにレスポンスヘッダーが表示されます。
CORS テスターは何を確認しますか?
あるオリジンのウェブページが別のオリジンのレスポンスを読むことをブラウザーが許可するかどうかと、その理由を示します。ポリシーシミュレーションは Access-Control-Allow-Origin、-Credentials、-Methods、-Headers、-Expose-Headers、-Max-Age と Vary: Origin を評価し、各チェックを根拠となるヘッダー値とともに 合格・警告・不合格・情報 で示します。
ブラウザーテストとポリシーシミュレーションの違い
ブラウザーテストはお使いのブラウザーから実際に fetch を送るため、結果は実際のブラウザーによる適用です。ただしオリジンは常に CodingTool.dev で、ブロックされたリクエストは汎用的なエラーしか返しません。ポリシーシミュレーションは、選んだオリジンでプリフライトを送るよう CodingTool のサーバーに依頼し、レスポンスヘッダーを分析します。あくまでシミュレーションで、最終的な結果はブラウザーが適用します。
ブラウザーがプリフライトを送るのはいつですか?
GET、HEAD、POST 以外のメソッド、CORS セーフリスト外のヘッダー、または text/plain、multipart/form-data、application/x-www-form-urlencoded 以外の Content-Type を使うリクエストは、先に OPTIONS でプリフライトされます。プリフライトは 2xx のステータスで応答し、リダイレクトしてはいけません。
認証情報とワイルドカード
認証情報付きの場合、Access-Control-Allow-Origin は正確なオリジンを指定し、Access-Control-Allow-Credentials は true でなければなりません。Allow-Origin、Allow-Methods、Allow-Headers、Expose-Headers の * は認証情報付きリクエストでは文字どおりに扱われ、Allow-Headers: * は Authorization を決して含みません。緩いヘッダーが自動的に脆弱性になるわけではなく、このツールはブラウザーが受け付ける内容を報告します。
ネットワークの使用とプライバシー
ブラウザーテストの通信はブラウザーから対象へ直接流れるだけです。ポリシーシミュレーションは URL、オリジン、メソッド、ヘッダー名を CodingTool のサーバーに送信しますが、ヘッダー値、Cookie、本文は送りません。サーバーはプライベート、ローカル、クラウドメタデータのアドレスをブロックし、接続ごとにアドレスを再確認し、リダイレクトをたどらず、8 秒で打ち切り、レート制限をかけ、何も保存しません。
