ホワイトリストに登録されたドメインからのものでない限り、XHR2/CORS 経由でアクセスされるリソースがリクエストをブロックできる方法に関して:
- リファラードメインを決定するために読み取られるヘッダーはどれですか?それは標準の HTTP_REFERRER ですか?
- 誰かが別のドメインからのふりをしてリクエストを送信できますか?
CORS がデータを保護するための信頼できる手段ではないことは承知しています。好奇心のためだけに質問します。
ホワイトリストに登録されたドメインからのものでない限り、XHR2/CORS 経由でアクセスされるリソースがリクエストをブロックできる方法に関して:
CORS がデータを保護するための信頼できる手段ではないことは承知しています。好奇心のためだけに質問します。
ヘッダーには、要求元のOrigin
ドメインが含まれています。
このブラウザはこのヘッダーを完全に制御しており、偽造することはできません。ブラウザーはユーザーに代わってこのヘッダーを制御し、ユーザーは JS コードの値をオーバーライドできません。
「ブラウザ」と言ったことに注意してください。Origin
他の HTTP リクエストと同様に、ユーザーは任意のヘッダーを使用して curl リクエストを作成できます。ただし、ハッカーは有効なユーザーをだまして正しい curl 要求を発行させる必要があるため、攻撃ベクトルとしての使用は限られていますが、これはほとんどありません。
読み取られるヘッダーはOrigin
. 他の HTTP ヘッダーと同様に、偽造することができます。COSR の背後にある考え方は、ユーザーを保護し、ユーザー セッションの悪用を防止しながら、データの送信を有効にすることです。クロスドメイン リクエストは、サーバーではなくユーザーを保護するために禁止されています。
攻撃者は、これが別のドメインであると偽ってリクエストを送信し、ユーザーが持っている Cookie を送信する必要があります。そして、これは単独で達成できるものではありません。CookieXSS
を盗んで、自分でリクエストを送信する必要があります。ただし、サイト B からサイト A の Cookie を盗むことはできません。ただし、A が任意のドメインからの要求を受け入れる場合、B の XSS を介して、ユーザーのブラウザーをだまして要求を A に送信させることができます。ブラウザーは Cookie を送信し、応答を読み取ることができます。戻る。