web-dev-qa-db-ja.com

SEC7118:XMLHttpRequest CORS-IEコンソールメッセージ

私はCORSを使用していますPOSTリクエストは与えられたすべての注意を払って@ http://www.html5rocks.com/en/tutorials/cors/

サーバーはResponseヘッダーを「Access-Control-Allow-Origin」: '*'に設定し、このヘッダー値をIE開発者ツールで見ることができます。

しかし、IE10ブラウザーでは、コンソールメッセージが「SEC7118:http://のXMLHttpRequestにはCross Origin Resource Sharing(CORS)が必要です」と表示されます。

Microsoftサイトで確認すると、以下の説明があります。

http://msdn.Microsoft.com/en-us/ie/dn423949(v = vs.94).aspx

SEC7118

説明: "[URL]のXMLHttpRequestにはクロスオリジンリソース共有が必要です(CORS)。 "XMLHttpRequestは、ページのドメインとは異なるドメインに対して作成されました。これには、サーバーが応答ヘッダーで「Access-Control-Allow-Origin」ヘッダーを返す必要がありますが、返されませんでした。

推奨修正:サーバーはCORSリクエストをサポートし、適切なリソースを含む「Access-Control-Allow-Origin」ヘッダー。応答ヘッダーのCORSの詳細については、IE10のXHRのCORSを参照してください。

質問:

  1. このコンソールメッセージがエラーかどうかを知りたいですか?
  2. これは障害を引き起こしますか??
  3. 応答ヘッダーの「Access-Control-Allow-Origin」値を「*」に設定した後でも、このメッセージが表示されるのはなぜですか?
  4. IE10が機能するには、「Access-Control-Allow-Origin」の値がOrigin名である必要がありますか? *はあまり良いオプションではありませんが、IEには正確なOrigin名が必要ですか??

enter image description here

enter image description here

これらの画像からURLとCookieの詳細を隠しました。

21
lucky

[〜#〜] msdn [〜#〜] から:

セキュリティエラーコードの形式はSEC7xxx [In IE]

SEC7118に関連するもの:

XMLHttpRequestは、ページのドメインとは異なるドメインに対して作成されました。これには、サーバーが応答ヘッダーで「Access-Control-Allow-Origin」ヘッダーを返す必要がありますが、返されませんでした。

注このエラーコードは、Windows 10のIE11で削除されました。Windows8.1およびWindows 7のIE11には残ります。

したがって、IEの観点からは技術的にはエラーと見なされますが、確かにエラーではありません(そのため、それがなくなる理由です)。 Access-Control-Allow-Originはリソースに設定されますが、必ずしもリクエストとともに返送されるわけではありません。指定されたリソースにAccess-Control-Allow-Origin:*(またはドメイン)がない場合、リソースにアクセスできず、サーバーは503または404を返す可能性が高く、コンソールに以下のような真のエラーメッセージが表示されます。 :

XMLHttpRequestはロードできません http://example.com/ 。要求されたリソースに「Access-Control-Allow-Origin」ヘッダーがありません。 Origin ' http://blog.example.com 'はアクセスを許可されていません。

11
twill

IE11でこのエラーを見ました:

SEC7118:http://のXMLHttpRequestにはクロスオリジンリソース共有(CORS)が必要

次を.htaccessに追加すると修正されました。

<IfModule mod_setenvif.c>
    <IfModule mod_headers.c>
        <FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$">
            SetEnvIf Origin ":" IS_CORS
            Header set Access-Control-Allow-Origin "*" env=IS_CORS
        </FilesMatch>
    </IfModule>
</IfModule>

リファレンス: https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image

0
Kimball