我们可以更改每个表单请求甚至每个请求的 CSRF 令牌,而不是一个活动会话的相同令牌吗?
问问题
8918 次
3 回答
34
假设您有权访问该request
对象:
from django.middleware.csrf import rotate_token
rotate_token(request)
于 2013-12-01T01:29:15.960 回答
9
在 csrf 中间件中,他们做这样的事情,覆盖 cookie 集:
request.META["CSRF_COOKIE"] = _get_new_csrf_key()
您可以_get_new_csrf_key()
通过from django.middleware.csrf import _get_new_csrf_key()
. 由于这是一种私人方法,我建议不要使用这样的黑客攻击。
于 2012-09-27T07:04:10.063 回答
3
如果你想在中间件中使用它:
from django.middleware.csrf import rotate_token
class CSRFRefresh(object):
def process_response(self, request, response):
rotate_token(request)
return response
于 2016-12-14T13:17:20.217 回答