繁体   English   中英

在Django中为简单的注释表单添加CSRF保护

[英]Adding CSRF protection to simple comment forms in Django

我在Django中有博客评论表格,我想知道以下内容:

  1. 我应该在表单中添加CSRF吗?
  2. 如果我想使用简单的“ render_comment_form”方法,该如何添加?
  3. 如果我不能那样添加,这样做的最佳实践是什么?

关于该主题的每个教程或讨论似乎都有不同的方法,并且我不确定我是否了解所有方法。

我的答案假设您使用的是Django 1.2:

  1. 是! 您应该保护POST请求发送给服务器的所有数据免受CSRF攻击。
  2. 您不需要自己添加令牌。 django已经做到了。 看一下render_comment_form标记使用默认模板,您会发现csrf_token已经包含在内。 您可以覆盖项目中的此模板,并将CSRF令牌包含到其中就像将{% csrf_token %}写入表单一样简单。
  3. 即使您没有在模板中设置令牌,也有一种保护表单的方法。 查看有关该主题的django文档 但是此方法被标记为遗留 方法,因此不建议使用它-仅为了与早于1.2的Django版本向后兼容而提供。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM