Django 默认 CSRF 保护机制

作者 : admin 本文共439个字,预计阅读时间需要2分钟 发布时间: 2024-06-5 共5人阅读

Django 的默认 CSRF 保护机制旨在防止跨站请求伪造攻击(CSRF)。CSRF 攻击是一种恶意攻击,其中攻击者通过伪造用户的请求来执行未授权的操作。Django 通过以下方式实现 CSRF 保护:

1. CSRF 中间件

Django 包含一个 CSRF 中间件 (CsrfViewMiddleware),它会自动添加到项目的中间件列表中。这个中间件负责检查所有进入的请求,确保它们包含有效的 CSRF 令牌。

2. CSRF 令牌

CSRF 令牌是一个随机生成的字符串,用于验证请求的来源。Django 在每个表单中都嵌入了一个隐藏的输入字段,包含一个唯一的 CSRF 令牌。示例如下:

<form method="post" action="/submit/">
    {% csrf_token %}
    
    <input type="submit" value="Submit">
</form>

{% csrf_token %} 模板标签会插入一个隐藏的输入字段,包含当前会话的 CSRF 令牌。

3. 验证 CSRF 令牌

当用户提交表单时,Django 会检查请求

本站无任何商业行为
个人在线分享 » Django 默认 CSRF 保护机制
E-->