CSRF攻击原理(只正对POST请求方式):

  1. 登入正常网站之后,你的浏览器会保存sessionid,如果你没有退出
  2. 你不小心访问了另一个恶意网站,这个网站是模拟正常网站中修改密码的网站,且隐藏那些修改信息,可能只显示一张图片或者是一个按钮,你不小心点击这个按钮,那个这个按钮的action就是去访问正常网站的修改用户的界面的url并附带有修改密码的post表单,那么你的数据就会被修改。
     

Django防御csrf的方式:

  1. Django默认启动了csrf防护,在settins.py文件中MIDDLEWARE_CLASSES中的"django.middleware.csrf.CsrfViewMiddleware", 如果注释这行,表示关闭防御CSRF攻击,注意点: CSRF攻击只针正对post提交
    Django中CSRF攻击原理及其防御方式
  2. 表单提交数据时加上{% csrf_token %}标签

 
Django防御原理:

  1. 开启Django中CSRF防御,且在表单中添加{% csrf_token %}, 那么在渲染模板文件时在页面生成一个名字叫做csrfmiddlewaretoken的隐藏域。
    Django中CSRF攻击原理及其防御方式Django中CSRF攻击原理及其防御方式
  2. 服务器交给浏览器保存一个名字为csrftoken的cookie信息
    Django中CSRF攻击原理及其防御方式
  3. 提交表单时,俩个值都会发给服务器,服务器进行比较,如果一样,则csrf验证通过,否则失败

相关文章:

  • 2021-10-13
  • 2021-07-15
  • 2022-12-23
  • 2021-12-29
  • 2021-11-18
  • 2022-01-03
猜你喜欢
  • 2021-12-14
  • 2021-05-27
  • 2021-12-10
  • 2021-12-10
  • 2021-11-30
相关资源
相似解决方案