2011-07-21 6 views
1

私はXMLHttpRequestの起源ドメインは、それを使用しているJavaScriptをロードしたドメインだと思った。例えばブラウザーはXMLHttpRequestの元のドメインをどのように評価しますか?

、それはページhttp://mydomain1.com/に私がしている場合ことを考えた:

<script src="http://mydomain2.com/script.js" /> 

script.jsがXHR経由mydomain2.comと対話することができます。これはjsonpの素晴らしい点の1つです。

いくつかのテストで、JSがmydomain2.comから読み込んでも、XHRの起源はまだmydomain1.comであるという証拠がいくつか見られます。私はちょうどこの時間ベースの方法だったか?

+1

JSONPの素晴らしい点は、同じ原点ポリシーを完全にバイパスすることです。 – RichieHindle

答えて

1

を実行するのは、おそらくフレーム内のページのドメインです。それは、(http://code.jquery.com/jquery-1.6.2.jsなど)CDNからjQueryをロードした後jQuery.ajaxを使用して、すべての人々のために何が起こるかJavaScriptがロードされたときのドメインから

だったら? ;-)

JSONPとして別のドメインを働くことはできませんが、むしろそれは別のドメインからを注入することができます。 ソーススクリプト要素のURIはであり、XHRと同じドメインの原点制限に制限されていません。このようにJSONPを使用すると、自由にデータを(URIで)送信し、返されたJavaScript(JSONではありません)を直接実行できます。現在のページのコンテキストリモートサイトからのスクリプトタグを含む

へのリモートサイトがウェブサイトに任意のコンテンツを挿入できます。リモートサイトにJavaScriptインジェクションを許可する脆弱性がある場合、元のサイトにも影響があります。

ハッピーコーディング。

関連する問題