CORS(オリジン間リソース共有)
CORS(オリジン間リソース共有) とは何ですか?
CORS(オリジン間リソース共有)ブラウザが強制する仕組みで、サーバーが同一オリジンポリシーを選択的に緩め、あるオリジンの JavaScript から別オリジンのレスポンスを読み取れるようにする。
CORS は Access-Control-Allow-Origin・Access-Control-Allow-Methods・Access-Control-Allow-Headers・Access-Control-Allow-Credentials などのレスポンスヘッダで実現されます。「単純リクエスト」以外ではブラウザがまず OPTIONS によるプリフライトを送り、サーバーがオリジンとメソッドを明示的に許可した場合のみ本リクエストを実行します。CORS はサーバーを守るものではなく(API は直接呼び出し可能)、あくまでブラウザ内でどのオリジンが応答を読めるかを制御します。資格情報付きで Origin をそのまま返す、cookies と「*」を併用する、「null」オリジンを信頼するといった設定ミスはデータ漏えいやアカウント奪取につながります。経路ごとの厳格な許可リストが安全な既定です。
● 例
- 01
API が https://app.example.com に対してのみ「Access-Control-Allow-Origin: https://app.example.com」「Access-Control-Allow-Credentials: true」を返す。
- 02
設定ミスで任意の Origin を反射し資格情報を許可するサーバーが、クロスサイトデータ窃取を可能にする。
● よくある質問
CORS(オリジン間リソース共有) とは何ですか?
ブラウザが強制する仕組みで、サーバーが同一オリジンポリシーを選択的に緩め、あるオリジンの JavaScript から別オリジンのレスポンスを読み取れるようにする。 サイバーセキュリティの アプリケーションセキュリティ カテゴリに属します。
CORS(オリジン間リソース共有) とはどういう意味ですか?
ブラウザが強制する仕組みで、サーバーが同一オリジンポリシーを選択的に緩め、あるオリジンの JavaScript から別オリジンのレスポンスを読み取れるようにする。
CORS(オリジン間リソース共有) からどのように防御しますか?
CORS(オリジン間リソース共有) に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
CORS(オリジン間リソース共有) の別名は何ですか?
一般的な別名: クロスオリジンリソース共有。