我已经看过关于这个主题的所有文章和帖子(包括 SO),流行的评论是同源策略阻止跨域的表单 POST。我看到有人建议同源政策不适用于表单帖子的唯一地方是这里。
我想从更“官方”或正式的来源获得答案。例如,有没有人知道 RFC 解决了同源如何影响或不影响表单 POST?
澄清:我不是在问是否可以构造 GET 或 POST 并将其发送到任何域。我在问:
- 如果 Chrome、IE 或 Firefox 允许来自域“Y”的内容向域“X”发送 POST
- 如果接收 POST 的服务器实际上会看到任何表单值。我这样说是因为大多数在线讨论记录测试人员说服务器收到了帖子,但表单值都是空的/被剥离了。
- 什么官方文档(即 RFC)解释了预期的行为是什么(不管浏览器当前实现了什么)。
顺便说一句,如果同源不影响表单 POST - 那么它就更清楚地说明了为什么需要防伪令牌。我说“有点”,因为似乎太容易相信攻击者可以简单地发出 HTTP GET 来检索包含防伪令牌的表单,然后发出包含相同令牌的非法 POST。评论?