KDOC 570: CORSはサーバのリソースを保護しない
この文書のステータス
- 作成
- <署名>
- レビュー
- <署名>
概要
CORSは サーバ のリソースを保護するものと誤って理解していた。
Access-Control-Allow-Origin がサーバ側に設定されていても、ブラウザ以外のHTTPクライアントでは無視される。
例を示す。
# HTTPクライアント: リクエストのHTTPヘッダー GET /submit HTTP/1.1 Host: example.com Origin: https://anywhere.com # サーバ: レスポンスのHTTPヘッダー Access-Control-Allow-Origin: https://example.com
この場合、ブラウザは Origin が許可されていないためレスポンスをスクリプトに渡さない。しかし curl は同じリクエストでレスポンスをそのまま取得できる。
関連
- 追加調査: ではなんのためにあるのか。KDOC 571: CORSはブラウザ側の仕組みでブラウザを保護するものであって、サーバを保護するものではない