2011-07-21 16 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注入的漏洞,则原始站点也会受到影响。

快乐编码。

相关问题