问题描述
我正在做一个电子商务项目。
当用户结账时,系统会将他们重定向到付款页面(由第三方提供)。在图表中显示。
我使用的解决方案是通过表单向另一台服务器(支付服务器)发送 Post Request。在重定向中显示。支付服务器然后让用户继续填写信息并将流程数据发布回源服务器。
我遇到了服务器 B 无法检测到发件人的 Referer 和 Origin URL 的问题。哪个服务器 B 将使用 Referer url 来检查其 IP 白名单。在浏览器中显示错误。
我正在使用带有模板的类基视图函数。在模板中有一个带有 Post 方法的隐藏表单和服务器的 url 位于 action 字段。
当用户点击提交时,会出现这个问题。有人遇到过这个问题吗?或者有什么解决办法吗?
解决方法
问题已经解决。
问题不在于 settings.py 中的 Django 或 CORS 设置。造成这种情况的原因是因为它没有发布引用者的标题。为了解决这个问题,我只添加了下面的代码片段。它将发布数据并重定向到支付服务器。带有 Origin 和 Referer。
<meta name="referrer" content="origin">
参考本文。 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy