【发布时间】:2013-01-11 07:10:32
【问题描述】:
我刚刚完成了 Django 1.4 教程的第 4 部分,我敢肯定他们只是把 CSRF 和通用视图扔进去把我搞糊涂了。
好的,我现在得到了一般视图,但我不明白 CSRF 保护发生了什么。
这就是我认为正在发生的事情:CSRF 令牌是应用程序中使用的模块生成的哈希/密钥,如果已登录,则为登录用户。令牌以某种方式通过 POST 方法表单发送到接收视图再次生成散列并将其与随表单发送的散列进行比较,以确保没有人窥探?我完全搞错了吗?
在教程中使用了 Django 手册的其余部分,这是迄今为止我读过的最令人困惑的手册页。
【问题讨论】:
-
我不知道该说什么,你完全明白。它是以某种方式通过调用csrf标签
{% csrf_token %}添加的,它使用令牌生成的服务器端呈现隐藏的输入。本质上,您必须至少呈现页面以获取此令牌/从而验证您的表单帖子。 -
好吧,看起来我设法将那个文档页面压缩成两个句子,我猜这对于遵循教程的人来说会更好。不过感谢您的确认,至少需要。
-
你指的是 CSRF 上的文档吗? docs.djangoproject.com/en/dev/ref/contrib/csrf 我明白为什么教程会简单地刷过这个概念.. 深入研究它会令人困惑。