Update:JSONP 是执行跨域请求的常见 hack。现代浏览器现在具有跨源资源共享功能,IE8+ 具有类似的 XDomainRequest。看http://enable-cors.org/ http://enable-cors.org/了解更多信息。
JSONP 只是一个允许您使用回调的脚本。但您应该注意跨站请求伪造(CSRF) http://www.squarefree.com/securitytips/web-developers.html#CSRF.
只要您控制脚本和服务器,JSONP 就不会比脚本包含更不安全。除非您有向登录用户返回敏感数据的 JSONP 服务。恶意站点可以向该服务发送请求(希望用户登录您的站点),并检索数据。该服务可以检查请求的引荐来源网址,但可以使用 Flash 欺骗引荐来源网址(感谢 Chris Moschini)。
想象一下这个场景:
- 用户登录他的网上银行帐户。在用户浏览器中存储会话 cookie。该网站有一个 jsonp 服务,其中包含有关用户及其帐户的敏感信息。
- 其他站点不会知道用户已登录,但他们可以进行疯狂猜测并尝试访问 jsonp 服务。由于用户有一个会话 cookie,浏览器将收到响应,并且没有什么可以阻止网站执行 ajax post 将敏感数据保存在其服务器上。
2012 年 6 月 28 日更新:如果您想防范 CSRF 攻击,您应该阅读安全专家撰写的这篇深入博客文章:http://erlend.oftedal.no/blog/?blogid=130 http://erlend.oftedal.no/blog/?blogid=130
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)