コンテンツにスキップ

Secure Cross-Origin Resource Sharing (CORS) Policy

セキュアなオリジン間リソース共有 (CORS) ポリシー

説明

Cross-Origin Resource Sharing (CORS) は、HTTP ヘッダーを通じて適用されるセキュリティ機能であり、Web クライアントが異なるドメイン上のサーバーにリソースを安全にリクエストできるようにします。厳格なセキュリティ標準を維持するため、アプリケーションは信頼できるオリジンからのリクエストのみを許可することで、セキュアな CORS ポリシーを実装しています。これは承認されたドメインのホワイトリストを指定することで実現され、不正アクセスや潜在的な攻撃のリスクを効果的に軽減します。

CORS 実装の主な特徴:

  1. オリジン制御: CORS を使用すると、サーバーは Access-Control-Allow-Origin ヘッダーを使用して、リソースへのアクセスを許可するドメインを指定できます。これにより、不正なクロスドメインアクセスを防止します。

  2. プリフライトリクエスト: 特定の HTTP メソッドまたはカスタムヘッダーの場合、ブラウザは実際のリクエストの前にプリフライト OPTIONS リクエストを送信します。これにより、サーバーが意図したメソッドとヘッダーを許可しているかどうかが、Access-Control-Allow-Methods および Access-Control-Allow-Headers ヘッダーで確認されます。

  3. 許可される HTTP メソッド: サーバーは Access-Control-Allow-Methods ヘッダーを使用して、許可される HTTP メソッド (例: GETPOSTPUT など) を指定できます。

  4. 許可されるヘッダー: サーバーは Access-Control-Allow-Headers ヘッダーを使用して、実際のリクエストで使用できるリクエストヘッダーを宣言できます。

  5. 資格情報のサポート: CORS は Access-Control-Allow-Credentials ヘッダーを使用して資格情報 (Cookie、HTTP 認証) を処理でき、サーバーはクロスオリジンリクエストで資格情報を許可またはブロックできます。

  6. プリフライト応答のキャッシュ: サーバーは Access-Control-Max-Age ヘッダーを使用して、プリフライトリクエストの結果をキャッシュできる期間を指定でき、送信されるプリフライトリクエストの数を減らすことができます。

  7. 公開されるレスポンスヘッダー: サーバーは Access-Control-Expose-Headers ヘッダーを使用して、ブラウザがアクセスできるレスポンスヘッダーを明示的に指定できます。

このセキュアな CORS の実装により、ユーザーは悪意のあるアクターに機密情報を公開することなく、アプリケーションとやり取りできるようになります。

推奨事項

実装は安全です。適用される推奨事項はありません。

リンク