Django:按请求/表单生成新的CSRF令牌 [英] Django: Generate new CSRF token per request/form

查看:72
本文介绍了Django:按请求/表单生成新的CSRF令牌的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们可以针对每个表单请求甚至针对每个请求更改CSRF令牌,而不是针对一个活动会话更改同一令牌吗?

Can we change CSRF token per-form request or even per-request instead of same token for one active session?

推荐答案

在csrf中间件中,它们执行以下操作,这会覆盖cookie集:

In the csrf middleware they do something like this, which overwrites the cookie set:

request.META["CSRF_COOKIE"] = _get_new_csrf_key()

您可以通过从django.middleware.csrf import _get_new_csrf_key()导入 _get_new_csrf_key()。由于这是一种私有方法,因此我建议您不要针对此类黑客。

You can import _get_new_csrf_key() via from django.middleware.csrf import _get_new_csrf_key(). Since is kind of a private method I would advise against some hacks like this though.

这篇关于Django:按请求/表单生成新的CSRF令牌的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆