当前位置: 首页 > 面试题库 >

跨域表单过帐

蒙奇
2023-03-14
问题内容

我已经看过有关该主题的文章和帖子(包括SO),并且普遍的评论是,同源策略阻止跨域的POST形式。我见过有人建议将同源政策不适用于表单帖子的唯一位置是此处

我想从更“官方”或正式的来源获得答案。例如,是否有人知道解决同源性如何影响表单POST的RFC?

澄清 :我不是问是否可以构造GET或POST并将其发送到任何域。我在问:

  1. 如果Chrome,IE或Firefox允许域“ Y”中的内容将POST发送到域“ X”
  2. 如果收到POST的服务器实际上将看到所有表单值。我之所以这样说,是因为大多数在线讨论都记录了测试人员说服务器收到了该帖子,但是表单值都是空的/已被剥离。
  3. 官方文件(即RFC)解释了预期的行为(无论浏览器当前已实现了什么)。

顺便说一句,如果同源源不影响表单POST,那么这使得为什么需要使用防伪令牌更加明显。我之所以说“有点”,是因为似乎很难相信攻击者可以简单地发出HTTP
GET来检索包含反伪造令牌的html" target="_blank">表单,然后进行包含相同令牌的非法POST。注释?


问题答案:

相同的来源策略仅适用于浏览器端编程语言。因此,如果您尝试使用JavaScript发布到与原始服务器不同的服务器,则将使用相同的原始策略,但是如果您直接从表单发布,即操作指向不同的服务器,例如:

<form action="http://someotherserver.com">

并且在发布表单时不涉及任何JavaScript,因此相同的来源政策不适用。

有关更多信息,请参见Wikipedia。



 类似资料:
  • 我已经看到了关于这个主题的所有文章和帖子(包括这样),普遍的评论是同源策略阻止了跨域的表单帖子。我唯一看到有人建议同源政策不适用于表格帖子的地方是这里。 我想从一个更“官方”或正式的来源得到答案。例如,有人知道解决同源如何影响或不影响表单张贴的RFC吗? 澄清:我不是问一个GET或POST是否可以被构造并发送到任何域。我在问: 如果Chrome、IE或Firefox允许来自域“Y”的内容向域“X”

  • 本文向大家介绍表单可以跨域吗?相关面试题,主要包含被问及表单可以跨域吗?时的应答技巧和注意事项,需要的朋友参考一下 表单可以跨域。 form提交是不会携带cookie的,没有办法设置一个hidden的表单项,然后通过js拿到其他domain的cookie,因为cookie是基于域的,无法访问其他域的cookie。所以浏览器认为form提交到某个域,是无法利用浏览器和这个域之间建立的cookie和c

  • 问题内容: 我正在尝试将数据从表单发送到php文件,以便可以将其存储在数据库中,但是无法正常工作… 表单的代码与php文件不在同一服务器上,因为表单将在移动应用程序上。 html php文件 谢谢!!! 问题答案: 在PHP文件的开头添加以下内容: 有关跨域策略的更多信息,请参见此处。

  • 本文向大家介绍简单谈谈json跨域,包括了简单谈谈json跨域的使用技巧和注意事项,需要的朋友参考一下 这一篇文章呢,主要是之前一直听别人讲json跨域跨域,但是还是一头雾水,只知其一,于是一怒之下,翻阅各种资料,如果有不正确的地方,劳烦指正一下^_^ 首先,先了解浏览器有一个很重要安全性限制,即为同源策略:不同域的客户端脚本在无明确授权的情况下不能读些对方资源。跨域也就是不同源~ 简单的说,只要

  • 问题内容: 我有一个小问题。 如何为多个域设置Cookie? 我确实了解安全性问题,并且我确信以前已经做过。原因是SSO。 即。 将需要将登录域设置为: domain.com,domain1.com,domain2.com。 有没有简单的方法,可以使用PHP和Cookies或其他替代方法? 问题答案: domain.com绝对没有办法为domain1.com设置cookie。您试图做的事情只能通过

  • 常规网页可以使用 XMLHttpRequest 对象从远程服务器发送和接收数据,但是它们受 same origin 策略的限制。内容脚本已将其注入其中的 Web origin 发起请求,因此,内容脚本也应遵循相同的 same origin 策略。 (自Chrome 73 以来,内容脚本就一直受 CORB 的限制,而 自Chrome 83以来,内容脚本就受 CORS 的限制。)扩展源的限制不是很有效