|
|
1
2
你的前提是错误的。同源策略没有提到网页包含外部域资源的能力。它阻止了通过脚本直接访问由不同的Origin拥有的资源,而他们没有选择加入。 因此,CORS和JSONP不是同源策略的变通方法。CORS使Origin能够选择响应XHR请求,而JSONP只是一个允许外部引用向页面返回动态数据的黑客。 这里的重点是保护您的页面,以便 XSS 一开始是不可能的。要做到这一点,重点应该放在 correctly encoding text that is output to the page 。这将防止“打电话回家”,因为一开始就不可能发生攻击。A. Content Security Policy 可以帮助中和任何试图漏网的脚本。在您的网站上定期进行安全漏洞评估时,应该会发现未编码的输出-将CSP视为填补了发现和修复这些漏洞之间的空白,尽管 browser support 还没有完全实现,尤其是Internet Explorer。
事实并非如此。CORS是更好的解决方案,因为请求检索数据而不是可执行代码。CORS允许XMLHttpRequest这样做。
带有CORS响应标头
仅允许
在该CORS场景中,
在JSONP场景中,
互联网上的任何地方。 假设您已登录Gmail。为了论证,假设Gmail有一个AJAX方法来获取收件箱内容:
现在,你在网上冲浪,然后登陆我的网站,
位于的服务
在没有同源策略锁定的情况下,
注:以上所有内容都是我为了举例说明而编的,并没有反映出谷歌和Gmail是如何做到这一点的。原则上是一样的。 |
|
|
Michael · 某些Windows客户端上的命名管道安全问题 2 年前 |
|
|
adamency · 是否可以从Go二进制文件的源代码中检索字符串? 2 年前 |
|
|
AlboSimo · PayPal Api密钥安全 2 年前 |