1. ホーム
  2. javascript

[解決済み] CORSを悪用した悪意のあるコードによる "Origin "ヘッダーの詐称を防ぐには?

2022-04-13 12:30:30

質問

私の理解では、foo.com のページで動作するクライアント側スクリプトが bar.com にデータを要求する場合、要求の中でヘッダー Origin: http://foo.com で応答しなければならず、bar は Access-Control-Allow-Origin: http://foo.com .

サイトroh.comからの悪意のあるコードが単にヘッダーを偽装するのを止めるには何があるのでしょうか? Origin: http://foo.com を使用して、bar にページを要求することができますか?

解決方法は?

の設定は、ブラウザが管理しています。 Origin ヘッダーの値を上書きすることはできません。そのため Origin ヘッダがブラウザから偽装されます。悪意のあるユーザは、手動で Origin ヘッダがあっても、このリクエストはブラウザの外から来るので、ブラウザ固有の情報(クッキーなど)を持っていない可能性があります。

覚えておいてください。CORSはセキュリティではありません。サイトの安全性を確保するためにCORSに依存しないでください。保護されたデータを提供する場合は、Cookie や OAuth トークンなど、CORS 以外のものを使用してください。 Origin ヘッダを使用して、そのデータを保護することができます。このヘッダは Access-Control-Allow-Origin ヘッダーは、どのオリジンがクロスオリジンリクエストを行うことを許可されるべきかを指示するのみです。それ以上のことについては、このヘッダーに依存しないでください。