web-dev-qa-db-ja.com

HTTPアクセス制御(CORS)の目的

ブラウザーでHTTPアクセス制御(CORS)を無効にするオプションがあるため、任意のOriginにリクエストを送信できます。では、なぜCORSを有効にしてブラウザーを実行する必要があるのでしょうか。

3
tprieboj

あなた自身のために。

CORSを無効にすると、次のことが起こります。

たとえば、hackfacebook.comというページへのリンクを送信します。私のページにアクセスすると、AJAXリクエストを使用してfacebook.comページをリクエストします。ログインすると、ページのコンテンツとセッションCookieが返されます。

私はhackfacebook.comの所有者として、現在ログインセッションを行っています。

ご覧のように、CORSを無効にすると別の攻撃が発生する可能性があるため、ご自身の責任で行ってください。

10
Bubble Hacker

CORSの目的は、それを尊重するWebブラウザーが、別の場所から提供されるコンテンツで非標準の要求を使用してサーバーを呼び出すことを防ぐことです。

標準的なリクエストは基本的に

  • GET
  • HEAD
  • POST(ただし、application/x-www-urlencodedなどの特定のタイプのみ。つまり、application/jsonではありません)

標準ヘッダーの限られたセットのみを使用します。これらの制約の外にあるものはすべて、OPTIONS呼び出しを介してCORSチェックをトリガーします。

0