Django模板中如何使用csrf_token保护表单

2023-04-09 00:00:00 django 模板 如何使用

在Django模板中使用csrf_token保护表单可以通过以下三个步骤:

  1. 在表单中添加{% 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>
  1. 在Django视图函数中添加csrf_protect装饰器,如下所示:
from django.views.decorators.csrf import csrf_protect

@csrf_protect
def my_view(request):
    # 处理请求
  1. 引入CSRF中间件,如果还没有的话,在settings.py文件中添加以下代码:
MIDDLEWARE = [
    # ...
    'django.middleware.csrf.CsrfViewMiddleware',
    # ...
]

这些步骤完成后,表单就可以使用csrf_token保护了,即使攻击者通过恶意站点尝试模拟POST请求,也无法通过这道“保险门”。

相关文章