【发布时间】:2017-01-28 21:08:03
【问题描述】:
我有两个域 A 和 B。
A 托管一个表单A/inquire,该表单向B/form-submission 提交发布请求
B 在B/form-submission 接受POST 请求并重定向到A/thankyou
这里有一个棘手的问题是 A 从 <iframe> 中托管表单,因此当用户提交表单时,iframe 会反弹到 B,然后返回到 A。
大约 10-20% 的用户会遇到这样的问题:提交表单会导致 iframe 无法重定向到 A/thankyou,但表单数据始终会被保存,因此必须完成 B/form-submission 的脚本。
B/表单提交(PHP):
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Accept-Encoding");
header('Access-Control-Allow-Methods: GET, POST, PUT');
... process form and insert data into db - works 100% of the time ...
header("Location: A/thankyou");
exit();
当然,我自己无法重现这个......
有没有办法提高它的可靠性?它似乎与我的表单处理无关,因为在重定向之前发生的最后一件事是始终通过的数据库插入。
【问题讨论】:
-
尝试在 iframe 中要加载的所有页面中定义
X-Frame-Options标头。
标签: php html cross-domain form-submit