【问题标题】:Should csrf_token be used when posting form data to external website/ server?将表单数据发布到外部网站/服务器时是否应该使用 csrf_token?
【发布时间】:2021-12-28 11:11:20
【问题描述】:

我是 Django 新手。我在我的 django 网站上设置了银行支付选项(banklink)。根据银行的技术文档,我必须将某些键/值数据发布到他们的端点。我使用 html 表单发布数据,我想知道是否需要将 {% csrf_token %} 添加到发布到银行端点的表单中?如果我将数据发布到我自己的端点,那么表单甚至在没有 csrf 令牌的情况下也无法工作,但在发布到外部端点时它似乎可以工作。我假设如果外部端点不使用 django,那么在 POST 数据中添加的 csrf_token 值无论如何对他们来说都没有任何意义。还是我应该评估其他任何考虑因素?

谢谢

【问题讨论】:

  • 你是对的......

标签: django django-templates


【解决方案1】:

确实,您应该在 POST 到外部端点时包含 {% csrf_token %},如 Django documentation 所述:

对于以外部 URL 为目标的 POST 表单不应该这样做,因为这会导致 CSRF 令牌泄露,从而导致漏洞。

除了遵守银行的技术文档之外,我没有想到其他必要的考虑因素。

【讨论】:

  • 感谢您对文档的引用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-03
  • 2011-10-26
  • 2014-09-03
  • 2014-12-18
相关资源
最近更新 更多