python - 为 Django 中的简单评论表单添加 CSRF 保护

标签 python django blogs

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

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

关于该主题的每个教程或讨论似乎都有不同的方法,我不确定我是否理解它是如何工作的。

最佳答案

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

  1. 是的!您应该保护通过 POST 请求发送到服务器的所有数据免受 CSRF 攻击。
  2. 您不需要自己添加 token 。这已经由 django 完成了。看看default template that is used by the render_comment_form tag您将看到,csrf_token 已包含在内。您可以在项目中覆盖此模板,并将 CSRF token 包含到其中,就像将 {% csrf_token %} 写入表单一样简单。
  3. 即使您没有在模板中设置 token ,也有一种方法可以保护您的表单。看看django's documentation about that topic 。但此方法被标记为旧版方法,因此不建议使用该方法 - 提供它只是为了向后兼容早于 Django 的版本1.2.

关于python - 为 Django 中的简单评论表单添加 CSRF 保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2738120/

相关文章:

python - 如何从具有多个可变长度记录的二进制数据文件中读取和提取数据?

python - OpenCV 2.4.3 和 Python

ruby-on-rails - Ruby on Rails - 通过 IP 限制点击

python - 在numpy数组中查找大量满足条件的连续值

python - 传递未知的 args 和 kwargs 以在 python 中运行

python - 部分使用 Django

python - 如何将unicode原始python类型转换

python - Django:每个外键返回一个过滤对象

node.js - 如何使用 next.js 构建博客?

blogs - 使用软件进行写作和演讲是否会使您成为更好的程序员?