首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相同来源的政策解决方案

问相同来源的政策解决方案
EN

Stack Overflow用户
提问于 2016-05-21 13:15:32
回答 1查看 113关注 0票数 0

我看到了跨域ajax调用的安全风险,

但我认为真正的问题是浏览器的cookie

自动发送到目标跨域。

那么,为什么浏览器不能仅仅在跨域js请求的情况下发送cookie而不是完全阻止该请求呢?

我希望我的问题有意义。

编辑:

来自:policy

虽然这是真的,但JavaScript没有直接访问银行会话cookie的权限,但它仍然可以使用银行站点的会话cookie发送和接收对银行站点的请求,这实际上是银行站点的正常用户。关于新交易的发送,即使银行网站对CSRF的保护也没有任何效果,因为脚本只会像用户所做的那样做。

因此,假设我登录了facebook,同时访问了一个使用跨站点请求到facebook窃取关于我的信息的网站,我的意思是,它可以这么做的唯一原因是因为浏览器在请求中包含了合法的cookie,我错了吗?

EN

回答 1

Stack Overflow用户

发布于 2016-05-21 14:10:44

你的想法很混乱。

cookie只是存储在客户端的缓存信息。简单地说,它是由浏览器管理的数据,而具体的浏览器所做的事情就是他们所做的。例如,IE将cookie存储在单独的文本文件中,Firefox使用单个文件,Crome使用SQLite3数据库。

我建议你阅读:Why is the same origin policy important?

您可以发送跨域的Get请求,有几种方法。我使用了一个代理,它添加了所需的头,或者只是Jsonp。例如,在.net中,后者要求您添加一个获取json回调函数的json格式化程序。

如果您有与网页的双向沟通,这是不需要的。您可以在服务器端管理状态,并根据您的意愿执行服务器端的“推送”请求。在html5之前,您需要组件来完成这个任务: java、flash、silverlight或.

我希望我的回答对你有意义。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37363445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档