ブラウザーでHTTPアクセス制御(CORS)を無効にするオプションがあるため、任意のOriginにリクエストを送信できます。では、なぜCORSを有効にしてブラウザーを実行する必要があるのでしょうか。
あなた自身のために。
CORSを無効にすると、次のことが起こります。
たとえば、hackfacebook.com
というページへのリンクを送信します。私のページにアクセスすると、AJAXリクエストを使用してfacebook.comページをリクエストします。ログインすると、ページのコンテンツとセッションCookieが返されます。
私はhackfacebook.com
の所有者として、現在ログインセッションを行っています。
ご覧のように、CORSを無効にすると別の攻撃が発生する可能性があるため、ご自身の責任で行ってください。
CORSの目的は、それを尊重するWebブラウザーが、別の場所から提供されるコンテンツで非標準の要求を使用してサーバーを呼び出すことを防ぐことです。
標準的なリクエストは基本的に
application/x-www-urlencoded
などの特定のタイプのみ。つまり、application/json
ではありません)標準ヘッダーの限られたセットのみを使用します。これらの制約の外にあるものはすべて、OPTIONS
呼び出しを介してCORSチェックをトリガーします。