为了账号安全,请及时绑定邮箱和手机立即绑定

跨域表单过帐

跨域表单过帐

catspeake 2019-10-15 14:51:04
我已经看过有关该主题的文章和帖子(包括SO),并且普遍的评论是,同源策略阻止跨域的POST形式。我见过有人建议将同源政策不适用于表单帖子的唯一位置是此处。我想从一个更“官方”或正式的来源获得答案。例如,是否有人知道解决同源性如何影响表单POST的RFC?澄清:我不是在问是否可以构造GET或POST并将其发送到任何域。我在问:如果Chrome,IE或Firefox允许域“ Y”中的内容将POST发送到域“ X”如果收到POST的服务器实际上将看不到任何表单值。我之所以这样说,是因为大多数在线讨论都记录了测试人员说服务器收到了该帖子,但是表单值都是空的/已被剥离。官方文件(即RFC)解释了预期的行为(无论浏览器当前已实现了什么)。顺便说一句,如果同源源不影响表单POST,那么这使得为什么需要使用防伪令牌更加明显。我之所以说“有点”,是因为很难相信攻击者可以简单地发出HTTP GET来检索包含防伪令牌的表单,然后进行包含相同令牌的非法POST。评论?
查看完整描述

3 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

相同的原始策略与将请求发送到另一个url(不同的协议,域或端口)无关。

这一切都是为了限制对另一个URL的访问(读取)响应数据。因此,页面内的JavaScript代码可以发布到任意域,也可以将该页面内的表单提交到任何地方(除非表单位于具有不同url的iframe中)。

但是导致这些POST请求效率低下的原因是这些请求缺少防伪令牌,因此其他url会将其忽略。此外,如果JavaScript试图通过向受害者url发送AJAX请求来获取该安全性令牌,那么将通过Same Origin Policy阻止访问该数据。


查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 639 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信