前言

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

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

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

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

图例:

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

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

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

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

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

三、重点注意

当模版引擎为Django时,可在前端HTML模版中使用{% csrf_token %} 或者 <input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
当模版引擎为Jinja2时,只能使用 <input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">

相关文章:

  • 2021-08-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-12
  • 2021-08-26
  • 2021-06-06
  • 2021-10-31
猜你喜欢
  • 2022-01-10
  • 2021-06-26
  • 2021-09-30
  • 2021-05-23
  • 2022-01-23
  • 2022-12-23
  • 2021-09-05
相关资源
相似解决方案