最新のブラウザーはCORS
手軽にサポートします。CORS-aided cross-origin-XHR
がサイトに送信された場合CORS-ignorant
、XHR は問題なく成功します。
この点で、より多くの脆弱性が明らかになりますか? Same Origin Policy
今日のブラウザに厳密に適用するにはどうすればよいですか?
CORS でプリフライト リクエストがどのように機能するかを見てみましょう。CORS プリフライト リクエストは、最初にクロスオリジン リクエストを行ってもよいかどうかをサーバーに問い合わせることで、サーバーを不正なリクエストから保護します。サーバーが「はい」と答えた場合、ブラウザはリクエストを続行します。それ以外の場合、リクエストは失敗します。
プリフライト リクエストを必要としない特定の種類のリクエストがあることに注意してください。ただし、これらの要求は、CORS の前から既に可能でした。たとえば、単純な GET リクエストにはプリフライトは必要ありませんが、script
タグを使用して GET を既に作成できます。
CORS とプリフライトについて詳しくは、http ://www.html5rocks.com/en/tutorials/cors/ をご覧ください。