2011-07-21 21 views
1

我認爲XMLHttpRequest的原始域是加載正在使用它的javascript的域。瀏覽器如何評估XMLHttpRequest的原始域?

例如,它認爲,如果http://mydomain1.com/頁面上,我有:

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

的script.js可以通過XHR與mydomain2.com互動。我認爲,這是關於jsonp的好事之一。

我在一些測試中看到一些證據,即使JS從mydomain2.com加載,XHR的起源仍然是mydomain1.com。我是否一直在這段時間基地?

+1

JSONP的好處在於它完全繞過了相同原點策略。 – RichieHindle

回答

1

它是頁面的域(可能在一個框架中),其中執行的是的JavaScript。

如果它來自加載JavaScript的域,那麼在從CDN(例如http://code.jquery.com/jquery-1.6.2.js)加載jQuery之後,所有使用jQuery.ajax的人會發生什麼情況? ;-)

JSONP不允許作爲另一個領域,而是允許另一個域注入。 來源腳本元素的URI是不限制爲與XHR具有相同的域起源限制:以這種方式,JSONP可用於自由發送數據(在URI中)並直接執行返回的JavaScript(不是JSON)當前頁面的上下文。

包括從遠程站點腳本標記允許遠程站點注入任何內容到網站。如果遠程站點存在允許JavaScript注入的漏洞,則原始站點也會受到影響。

快樂編碼。

相關問題