広告が嫌いですか? 行く 広告なし 今日

CORSヘッダービルダー&バリデーター

開発者

起源

許可されたオリジンのカンマ区切りリスト

許可されたメソッド

許可されたヘッダー

許可されたリクエストヘッダーのカンマ区切りリスト

オプション

ブラウザがプリフライト結果をキャッシュする期間 (デフォルト: 86400 = 24時間)
ブラウザがレスポンスからアクセスできるヘッダー

サーバーコードスニペット

ガイド

CORSヘッダービルダー&バリデーター

CORSヘッダービルダー&バリデーター

ビジュアルコンフィギュレーターを使用して、正しいCORS (Cross-Origin Resource Sharing) ヘッダーを構築します。許可するオリジン、メソッド、ヘッダー、および認証情報を設定してから、Express.js、Nginx、Apache、Django、FastAPI、Flask、およびGoの生成されたHTTPヘッダーとすぐに使用できるコードスニペットを取得します。リアルタイム検証により、運用環境に到達する前に一般的なCORSの誤設定を検出します。

使用方法

フォームコントロールを使用してCORSポリシーを構成します。オリジンモード (ワイルドカード、特定のオリジン、または反映) を選択し、許可するHTTPメソッドを選択し、許可するヘッダーを追加し、必要に応じて認証情報を有効にします。このツールは、正しいAccess-Control-*ヘッダーを即座に生成し、一般的な間違いに対する検証警告を表示し、7つのサーバーフレームワーク用のコピー準備完了コードスニペットを提供します。CORSの簡単な復習には、CORSエクスプローラーセクションを使用してください。

機能

  • ビジュアルCORSコンフィギュレーター — Access-Control-Allow-Origin (ワイルドカード、特定のオリジン、または反映)、メソッド (GET/POST/PUT/PATCH/DELETE/OPTIONS/HEAD)、カスタムヘッダー、認証情報、最大有効期間、および公開ヘッダーを設定します。
  • リアルタイムヘッダー生成 — 設定すると、完全なCORSレスポンスヘッダーとプリフライト (OPTIONS) ヘッダーが即座に更新されます。
  • 7つのサーバーフレームワークスニペット — Express.js、Nginx、Apache (.htaccess)、Django (django-cors-headers)、FastAPI (CORSMiddleware)、Flask (flask-cors)、およびGo (net/http) 用のコピー準備完了コード。各スニペットは、構成から動的に生成されます。
  • 構成の検証 — 色分けされた警告は、一般的なCORSの間違いを検出します: ワイルドカード + 認証情報 (無効)、POSTでのContent-Typeヘッダーの欠落、プリフライトでのOPTIONSメソッドの欠落、短い最大有効期間によるプリフライトトラフィックの増加。
  • クイック追加ヘッダーボタン — 一般的なヘッダーのワンクリックボタン: Content-Type、Authorization、X-Requested-With、Accept、Origin。
  • プリフライトヘッダー — 通常のCORSヘッダーと異なる場合、プリフライト (OPTIONS) レスポンスヘッダーの個別の表示。
  • CORSエクスプローラー — シンプルリクエストとプリフライトリクエスト、プリフライトをトリガーするもの、各ヘッダーの役割、および認証情報+ワイルドカードが無効である理由をカバーする折りたたみ可能なリファレンス。

CORSヘッダーの説明

Access-Control-Allow-Origin: どのオリジンがリソースにアクセスできるか。ワイルドカード (*) はすべてを許可するか、正確なオリジンを指定します。
Access-Control-Allow-Methods: クロスオリジンリクエストで許可されるHTTPメソッド。
Access-Control-Allow-Headers: クライアントが送信できるリクエストヘッダー。
Access-Control-Allow-Credentials: ブラウザがCookie/認証情報を含めるべきかどうか。ワイルドカードオリジンとは一緒に使用できません。
Access-Control-Max-Age: ブラウザがプリフライト結果をキャッシュする期間 (秒)。
Access-Control-Expose-Headers: ブラウザがJavaScriptからアクセスできるレスポンスヘッダー。

CORSとは何ですか、そしてなぜそれが必要なのですか?

CORS (Cross-Origin Resource Sharing) は、どのウェブサイトがサーバーにリクエストを送信できるかを制御するブラウザのセキュリティメカニズムです。デフォルトでは、ブラウザはクロスオリジンリクエスト (例: app.example.com のフロントエンドが api.example.com のAPIを呼び出す) をブロックします。CORSヘッダーは、どのオリジン、メソッド、ヘッダーが許可されているかをブラウザに伝えます。正しいCORS構成がないと、APIはサーバー間では機能しますが、ブラウザから呼び出すと失敗します — これはWeb開発における最も一般的な問題の1つです。

認証情報 (*) とワイルドカードを一緒に使用できないのはなぜですか?

Access-Control-Allow-Credentials が true の場合、ブラウザはサーバーに正確なオリジンを指定するように要求します — ワイルドカード (*) ではありません。これはセキュリティ対策です。もしサーバーが「任意のオリジンがこのリソースに認証情報 (Cookie、認証トークン) を付けてアクセスできる」と言う場合、それは任意のウェブサイトがユーザーに代わって認証されたリクエストを行うことを許可することになります。ブラウザは、認証情報盗難を防ぐためにこの制限を強制します。ワイルドカードの代わりに「オリジンを反映」モードを使用します — サーバーはリクエストのOriginヘッダーを読み取り、許可リストにある場合はそれをエコーバックします。

プリフライトリクエストとは何ですか?

プリフライトリクエストは、サーバーがそれらを許可するかどうかを確認するために、特定のクロスオリジンリクエストの前にブラウザが送信する自動的なOPTIONSリクエストです。プリフライトは、リクエストがGET/HEAD/POST以外のメソッドを使用する場合、カスタムヘッダー (Authorizationなど) を含む場合、またはフォームデータやプレーンテキスト以外のContent-Type値を使用する場合にトリガーされます。サーバーは、適切なAccess-Control-*ヘッダーでOPTIONSに応答する必要があります。プリフライトが失敗した場合、ブラウザはその実際のリクエストをブロックします。Access-Control-Max-Ageヘッダーは、ブラウザがプリフライト結果をキャッシュする期間を制御します。

どのサーバーフレームワークスニペットを使用すればよいですか?

バックエンドテクノロジーに基づいて選択してください: Node.js APIの場合はExpress.js、リバースプロキシ/静的ファイルサーバーの場合はNginx、従来のホスティングの場合はApache (.htaccess)、Python Djangoプロジェクトの場合はDjango (django-cors-headersパッケージを使用)、最新のPython APIの場合はFastAPI (組み込みCORSMiddleware)、Python Flaskアプリの場合はFlask (flask-corsを使用)、Go net/httpサーバーの場合はGo。各スニペットは、正確な構成から生成されます — プロジェクトにコピー&ペーストするだけです。コンテナ化されたデプロイメントの場合、アプリケーションレベルではなく、リバースプロキシレベル (Nginx/Apache) でCORSを構成する必要がある場合があります。

広告なしで楽しみたいですか? 今すぐ広告なしで

拡張機能をインストールする

お気に入りのブラウザにIOツールを追加して、すぐにアクセスし、検索を高速化します。

に追加 Chrome拡張機能 に追加 エッジ拡張 に追加 Firefox 拡張機能 に追加 Opera 拡張機能

スコアボードが到着しました!

スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!

ニュースコーナー 技術ハイライト付き

参加する

価値ある無料ツールの提供を継続するためにご協力ください

コーヒーを買って