Django模板中如何使用csrf_token保护表单
在Django模板中使用csrf_token保护表单可以通过以下三个步骤:
- 在表单中添加{% csrf_token %}模板标记,如下所示:
<form method="post"> {% csrf_token %} <label for="name">Name:</label> <input type="text" id="name" name="name"><br><br> <input type="submit" value="Submit"> </form>
- 在Django视图函数中添加csrf_protect装饰器,如下所示:
from django.views.decorators.csrf import csrf_protect @csrf_protect def my_view(request): # 处理请求
- 引入CSRF中间件,如果还没有的话,在settings.py文件中添加以下代码:
MIDDLEWARE = [ # ... 'django.middleware.csrf.CsrfViewMiddleware', # ... ]
这些步骤完成后,表单就可以使用csrf_token保护了,即使攻击者通过恶意站点尝试模拟POST请求,也无法通过这道“保险门”。
相关文章