参照:
...だけでなく、CORSについてXHRレベル2での注意事項:
情報が意図的ですフィルタリングされる。
数か月後に編集:フォローアップのコメントに「理由」が表示されます。最初のリンクのアンカーにはいくつかの文字が欠落していて、私が参照していた文書のどの部分が見えないのか分かりませんでした。
これはセキュリティ上の問題です。機密性の高いHTTPヘッダーに情報が公開されるのを避けるためのものです。 CORSに関するW3Cのリンクは言う:
ユーザーエージェントは、の値のいずれかのフィールド名がASCIIの大文字と小文字を区別しない一致するシンプルなレスポンスヘッダまたはであるもの以外のすべてのレスポンスヘッダを除外する必要がありますAccess-Control-Expose-Headersヘッダーがある場合は、CORS API仕様で定義されたAPIに応答ヘッダーを公開します。
このパスには、Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、およびPragmaをリストする「単純なレスポンスヘッダー」のリンクが含まれています。それで、それらは合格します。 「Access-Control-Expose-Headersヘッダー」部分は、リモートサーバーが他のヘッダーも公開することを可能にします。詳細については、W3Cのドキュメントを参照してください。
ブラウザに読み込んだJavaScriptの一部を実行しているWebページで、スクリプトが別の起点にリクエストしていますが、これは通常は許可されていません。そんなに厄介なことをやる。したがって、ブラウザを実行してスクリプトを実行し、その代わりにHTTPリクエストを実行すると、ゲートキーパーとして機能します。
ブラウザは、「他の発信元」サーバからの応答を調べ、CORSに「参加していない」ようであれば、必要なヘッダが見つからないか、または不正な形式になっています。信頼できない私たちは、ローカルで実行されているスクリプトが、このように接触することを期待していないサーバーに接続しようとしているように見えるので、誠実に行動しているとは確信できません。ブラウザは、フィルタリングなしでスクリプト全体に応答を渡すだけで、そのリモートサーバから機密情報を漏らすべきではありません。つまり、基本的にはになります。には、情報開示の脆弱性が発生します。
これはデバッグを困難にする可能性がありますが、「ユーザー」はこのコンテキストの開発者であるためセキュリティに重要な優先順位が与えられます。
これは可能なのかどうかは、ブラウザの機能であるため、javascriptの範囲を超えています。それ以外にも、盗聴に使うことができるセキュリティホールが発生する可能性があります。 –
私もこれについて興味があります。 –