除了JSONP之外,为什么还要遵循相同的域策略?为什么不允许跨域AJAX调用?
回答
出于安全原因已实施相同来源策略;从wikipedia引用了相关的句子:
该机制承担的是大量关于HTTP饼干取决于 保持 身份验证的用户会话现代Web 应用程序特定 意义,因为 服务器行为基于HTTP cookie的 信息以显示敏感信息或采取变化 行动。
严格分离 内容之间提供的无关 网站必须保持在客户端 方,以防止数据丢失保密性或完整性。
基本上,你不希望任何给定网站不要(像任何网站,你可能会冲浪 - 我们都知道人有时候,你不应该信任的网站到达)能够访问数据从任何其他人(如您的网络邮箱,或社交网络帐户)。
通过使用新鲜的Cookie,难以避免安全问题? – 2014-08-04 21:55:39
存在同源策略以防止恶意使用资源。如果没有管理跨域脚本访问的规则,那么对毫无戒心的用户造成任何破坏都是微不足道的。例如,对于恶意网站来说,抓取您的会话信息到另一个网站并代表您执行操作很容易。
举一个例子,看看这个:
你去你喜欢的网络邮件程序 - 它可能是Gmail,雅虎邮件,Hotmail或私人公司内部网络邮件程序。
登录并检查您的电子邮件后,单击指向在新选项卡中打开的恶意网站的链接。
恶意网站检查http referer并发现您来自您的电子邮件帐户。
使用跨域脚本,恶意网站会回到您的电子邮件标签中,并下载您的地址簿和所有电子邮件(或关闭弹出窗口之前可以获得的很多电子邮件)。
随后,在扫描您的电子邮件以查找密码,财务数据和其他敏感材料之后,它会向您的所有联系人发送一封来自您批注同一站点的电子邮件。 这只是一个例子。一个更阴险的情节将涉及一个恶意的第三方使用您的浏览器蜘蛛您的公司的内联网,泄露机密信息作为你的不知情的帮凶!
更多关于http://jimbojw.com/wiki/index.php?title=Introduction_to_Cross-Domain_Ajax
- 1. 为什么跨站API调用允许一些API但不允许其他人
- 2. 在Silverlight中允许跨域调用
- 3. 在WebKit WebView中允许跨域AJAX
- 4. 将Firefox配置为允许从文件测试跨域JSON Ajax调用:// URL
- 5. AJAX跨域调用
- 6. AJAX跨域调用
- 7. 跨域AJAX调用
- 8. 跨域AJAX调用?
- 9. %为什么不允许
- 10. 跨域PUT调用不会访问控制允许来源
- 11. 是什么让跨域ajax不安全?
- 12. 哪些浏览器允许使用Access-Control-Allow-Origin进行跨域ajax调用:*?
- 13. 为什么.NET不允许跨线程操作?
- 14. Ajax调用Webmethod,跨域
- 15. 让ajax调用跨域
- 16. 跨域AJAX调用问题
- 17. 跨域ajax调用:postMessage
- 18. 通过Ajax跨域调用
- 19. 跨域Ajax调用jquery
- 20. 为什么不设置document.domain工作以允许AJAX请求到父域?
- 21. 不能让一个跨域Ajax调用
- 22. Chrome不允许向允许的域发送Ajax请求
- 23. 允许来自Firefox的跨域阿贾克斯调用
- 24. Firefox扩展:允许跨域JSON调用吗?
- 25. 为什么在OpenCL中不允许位域?
- 26. 允许跨域ajax请求中的标头
- 27. Firefox不允许使用原型js库进行跨域Ajax GET请求
- 28. WCF REST服务:允许跨域访问
- 29. 允许Android WebView的跨域请求
- 30. 允许在节点上跨域共享
的DUP:为什么AJAX请求仅限于同一域?(http://stackoverflow.com/questions/3156710)和[为什么跨域Ajax存在安全问题?( http://stackoverflow.com/questions/466737) – 2011-03-21 20:12:53
可能重复的[反跨域策略是什么?](http:// stackoverflow。com/questions/3113253/what-the-point-of-the-anti-cross-domain-policy) – 2011-03-21 20:13:17