Django框架的CSRF跨站请求伪造个人理解

文章目录

  • 前言
  • 一、CSRF跨站请求伪造是什么?
  • 二、如何解决CSRF跨站请求伪造?
  • 三、重点注意


前言

分享Python学习过程中个人知识点的理解。

一、CSRF跨站请求伪造是什么?

含义:攻击者盗用了你的身份,以你的名义发送恶意请求。

理解:正常网站发送POST请求时会把网站自身相关cookie数据一并发送,攻击者正是通过获取该网站的cookie数据,伪造用户身份发送恶意请求。

图例:

Django框架的CSRF跨站请求伪造个人理解_第1张图片

二、如何解决CSRF跨站请求伪造?

        在前端表单增加隐藏的csrf_token字段,该字段的数据来源view.py文件"from django.middleware.csrf import get_token"里get_token生成的数据,生成的数据同时也写入cookie,在接收请求POST时,判断表单的csrf_token与cookie里的csrf_token是否一致,如果一致则视为正常的请求;如果不一致,代表的是跨站请求伪造。

Django框架的CSRF跨站请求伪造个人理解_第2张图片
Django框架的CSRF跨站请求伪造个人理解_第3张图片

Django框架的CSRF跨站请求伪造个人理解_第4张图片

三、重点注意

当模版引擎为Django时,可在前端HTML模版中使用{% csrf_token %} 或者
当模版引擎为Jinja2时,只能使用

你可能感兴趣的:(Python学习笔记,python)