一、csrf概念
- CSRF(Cross-site request forgery),中文名称:跨站请求伪造。简单理解为:攻击者盗用了你的身份,以你的名义发送恶意请求。以你的名义发送邮件,盗取账号,购买商品等等....
-
要完成一次CSRF攻击,受害者必须依次完成两个步骤:
1.登录正常网站A,浏览器保存了你的Cookie。
2.在不退出网站A的情况下,访问危险网站B。
二、Django防御
- django默认开启了csrf中间件

- 表单post提交数据的时候加上 {% csrf_token %} 标签

三、防御原理
- 渲染模板文件时,页面生成一个名为csrfmiddlewaretoken的隐藏域
- 服务器交给浏览器保存一个名为csrftoken的cookie信息
- 提交表单时,两个值都会发送给服务器,服务器对比,如果一样,则csrf验证通过,否则失败


本文详细介绍了CSRF(跨站请求伪造)攻击的概念及其如何利用用户身份发送恶意请求,造成潜在的安全风险。同时,文章深入探讨了Django框架中如何通过中间件和表单提交机制来防御此类攻击,保障应用程序的安全。
260

被折叠的 条评论
为什么被折叠?



