CORSチェッカー
任意のURLに対してCross-Origin Resource Sharing(CORS)ヘッダーをテストします。APIまたはリソースがあなたのドメインからのリクエストを許可するかを確認します。
CORSチェッカーの使い方
- 1テストしたいAPIまたはリソースのURLを入力します。
- 2テストするOriginヘッダーを指定します(デフォルトではサーバー)。
- 3すべてのCORSレスポンスヘッダーとクロスオリジンリクエストが許可されているかを確認できます。
- 4診断機能を使用してCORSの設定ミスを修正します。
Zenovayアナリティクス
関連ツール
よくある質問
CORSとは何ですか、そしてなぜそれが重要なのですか?▾
クロスオリジンリソースシェアリング(CORS)は、どのウェブサイトがAPIまたはサーバーにリクエストを送信できるかを制御するブラウザセキュリティメカニズムです。適切なCORSヘッダーなしでは、ブラウザは他のドメインからのJavaScript fetch/XHRリクエストをブロックします。誤って設定されたCORSは、正当な統合を破裂させるか、APIを無許可のアクセスに露出させる可能性があります。
このCORSチェッカーは何をテストしますか?▾
指定されたオリジンで、URLにOPTIONSプリフライトリクエスト(およびフォールバックGET)を送信してから、すべてのAccess-Control-Allow-*レスポンスヘッダーを検査します。オリジンが許可されているかどうか、どのメソッドとヘッダーが許可されているか、認証情報がサポートされているか、およびワイルドカード+認証情報の競合などのセキュリティ問題にフラグを付けます。
シンプルなリクエストとプリフライトの違いは何ですか?▾
シンプルなリクエスト(標準的なヘッダーを使用したGET/POST)は直接送信されます。プリフライトリクエストは、実際のリクエストの前にブラウザによって送信されるOPTIONSリクエストで、サーバーがクロスオリジンの呼び出しを許可するかどうかを確認します。このチェッカーはプリフライトパスをテストします。これは、カスタムヘッダーまたは非シンプルメソッドを使用したほとんどのAPIが必要とするものです。
Access-Control-Allow-Origin: * がセキュリティ上の問題であるのはなぜですか?▾
ワイルドカード(*)は、任意のウェブサイトがサーバーのレスポンスを読むことを許可します。パブリックAPIの場合、これは意図的である可能性がありますが、認証データを処理するAPIの場合、ユーザーが訪問すると、悪意のあるウェブサイトがユーザーのデータにアクセスする可能性があります。代わりにhttps://yourdomain.comのような特定のオリジンを使用してください。
ワイルドカードオリジンで認証情報を使用できますか?▾
いいえ。CORS仕様は、Access-Control-Allow-Origin: *とAccess-Control-Allow-Credentials: trueの組み合わせを明示的に禁止しています。ブラウザはこの組み合わせを拒否します。認証情報を許可するには、Access-Control-Allow-Originレスポンスヘッダーで特定のリクエストオリジンを反映する必要があります。
「Access-Control-Max-Age」は何をしますか?▾
Max-Ageは、ブラウザにプリフライトレスポンスをキャッシュする期間(秒単位)を通知します。なしでは、ブラウザはすべてのクロスオリジンリクエストの前にOPTIONSプリフライトを送信し、遅延を追加します。安定したAPIの場合、86400(24時間)に設定することが一般的です。Chromeは7200秒、Firefoxは86400秒でキャップします。
CORSチェックが成功しますが、ブラウザはリクエストをブロックします — なぜですか?▾
このツールはサーバーレベルのCORSヘッダーをチェックしますが、すべてのブラウザ動作をシミュレートできません。一般的な問題:(1)リクエストはAccess-Control-Allow-Headersにリストされていない非シンプルヘッダーが含まれています、(2)認証情報は送信されますがサーバーはワイルドカードオリジンを返します、(3)レスポンスはSecureなしのSameSite=Noneを設定するクッキーが含まれます、(4)リダイレクトがオリジンを変更します。正確なエラーについてはブラウザDevToolsネットワークタブを確認してください。