我已经对解决跨域策略做了一些阅读,现在我已经知道了两种对我有用的方法,但我很难理解CORS如何比没有跨域限制更安全.
据我所知,跨域限制已经到位,因为理论上可以将恶意脚本插入到用户正在查看的页面中,这可能导致数据发送到未关联的服务器(即不是同一个域)到用户已专门加载的站点.
现在有了CORS功能,恶意家伙似乎可以解决这个问题,因为它是允许跨域请求授权的恶意服务器本身.因此,如果恶意脚本决定向具有Access-Control-Allow-Origin:* set的恶意服务器发送详细信息,它现在可以接收该数据.
我确定我在这里误解了一些东西,任何人都可以澄清一下吗?
解决方法
我认为@dystroy在那里有一个观点,但不是我想要的所有内容.这个答案也有帮助.
https://stackoverflow.com/a/4851237/830431
我现在明白这与防止发送数据无关,更多的是与防止未经授权的操作有关.
例如:您登录的网站(例如社交网络或银行)可能会在您的浏览器中打开受信任的会话.如果您随后访问了一个狡猾的网站,他们将无法使用您登录的网站执行跨站点脚本攻击(例如,发布垃圾邮件状态更新,获取个人详细信息或从您的帐户转移资金),因为跨域限制政策.他们能够执行跨站点脚本攻击的唯一方法是,如果浏览器没有启用跨站点限制,或者社交网络或银行已实施CORS以包含来自不受信任域的请求.
如果一个站点(例如银行或社交网络)决定实施CORS,那么他们应该确保它不会导致未经授权的操作或未经授权的数据被检索,但是像新闻网站内容API或雅虎管道这样的东西没什么可失去的通过启用CORS *
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。