CORS ヘッダービルダー
ネットワーク
ブラウザのクロスオリジンリクエストを満たすためにサーバーが送信する必要のあるレスポンスヘッダーを構築する。Allow-Origin、Allow-Methods、Allow-Headers、Expose-Headers、Allow-Credentials、Max-Age、および Vary: Origin ヒントを含む。よくある落とし穴にフラグを立てる:* を credentials と組み合わせる(ブラウザがブロックする)、Origin: null を受け入れる(攻撃者がスプーフィングできる)、または不合理に長い時間プリフライトをキャッシュするようブラウザに要求する。
Access-Control-Allow-Origin: https://example.com Access-Control-Allow-Methods: GET, POST Access-Control-Allow-Headers: Content-Type, Authorization Access-Control-Allow-Credentials: true Access-Control-Max-Age: 600 Vary: Origin
これらをプリフライト OPTIONS *と* 実際のリクエストへのレスポンスに適用する。Origin をエコーする場合、エッジキャッシュには Vary: Origin が必要。
使い方
- あなたのシナリオに合うプリセットから始める。
- オリジンを設定する(完全公開には *、credentialed API にはサーバーサイドでリクエストの Origin をエコー)。
- エンドポイントが実際に受け入れるメソッドとヘッダーのみを選択 — 狭いほど安全。
- ヘッダーをサーバー、エッジワーカー、またはフレームワークミドルウェアにコピー。
よくある質問
- * と credentials を一緒に使える?
- いいえ。fetch 仕様は Access-Control-Allow-Origin: * と Access-Control-Allow-Credentials: true をペアにしたレスポンスを拒否する。credentials を落とすか、許可リストに対して検証した後で実際のリクエスト Origin をサーバーサイドでエコーする。
- なぜ Vary: Origin が推奨される?
- Origin を Allow-Origin にエコーすると、ダウンストリームのキャッシュは保存されたレスポンスをリクエストの Origin ヘッダーで変動させる必要がある;そうでなければ、あるサイトの CORS レスポンスを別のサイトのリクエストに提供してしまう可能性がある。Vary: Origin はキャッシュにそのヘッダーをキーにするよう伝える。
関連ツール
IP アドレス インスペクター
IPv4 または IPv6 アドレスを入力すると、クラス、スコープ(プライベート / パブリック / ループバック / リンクローカル)、10 進数値、2 進数、逆引き DNS 表記、/32 CIDR を表示。
ポート番号リファレンス
約 60 個の標準 TCP / UDP ポート番号の検索可能なチートシート — 22 (SSH)、80 (HTTP) から 6379 (Redis)、27017 (MongoDB) まで。
DNS レコードリファレンス
DNS レコードタイプの検索可能なチートシート — A・AAAA・CNAME・MX・TXT・NS・SOA・PTR・SRV・CAA・DNSSEC・SVCB / HTTPS — 例付き。
サブネット計算機(IPv4 / CIDR)
IPv4 CIDR をネットワークアドレス・ブロードキャスト・ネットマスク・ワイルドカード・ホスト範囲・クラスにパース。バイナリ内訳とプライベート/パブリック判定。
User Agent パーサー
User-Agent 文字列をブラウザ・エンジン・OS・デバイス・CPU に解析。GPTBot・ClaudeBot・PerplexityBot を含む 20 以上のボットを検出。
HTTP ステータスコード リファレンス
1xx-5xx の全 HTTP ステータスコードを検索 — 概要・RFC・使い時・よくある落とし穴付き。