rep*_*vsd 1 javascript django csrf django-csrf csrf-protection
我希望我的网站登录表单每次刷新页面时都会生成一个新的CSRF令牌.
我试着打电话
logout(request)
request.session.flush()
Run Code Online (Sandbox Code Playgroud)
但即使在服务器重启后,隐藏的表单字段也始终具有相同的标记.
这显然意味着django正在从cookie中读取数据.如何使它忽略cookie并生成一个新的?
或者,有没有办法让我有一个中间页面,在进入实际登录页面之前清除所有cookie?如何在Javascript中删除我的域的所有cookie?
您可以按如下方式手动重置令牌:
from django.middleware.csrf import _get_new_csrf_key
request.META["CSRF_COOKIE_USED"] = True
request.META["CSRF_COOKIE"] = _get_new_csrf_key()
Run Code Online (Sandbox Code Playgroud)
在Django> = 1.6中,您应该使用django.middleware.csrf.rotate_token(request),这正是这样做的.
| 归档时间: |
|
| 查看次数: |
1221 次 |
| 最近记录: |