django之csrf攻击

Posted lirunsheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django之csrf攻击相关的知识,希望对你有一定的参考价值。

首先做一个登录页,让用户输入用户名和密码进行登录,登录成功之后跳转的修改密码页面。在修改密码页面输入新密码,点击确认按钮完成密码修改。
登录页需要一个模板文件login.html.修改密码页面也需要一个模板文件change_pwd.html.
显示登录页的视图login,验证登录的视图login_check,显示发帖页的视图change_pwd,处理修改密码的视图change_pwd_action.
加功能:

a)只有用户登录之后才可以进行修改密码操作。
登录装饰器函数。

技术图片

案例流程图:

技术图片

django防止csrf的方式:

1) 默认打开csrf中间件。

2) 表单post提交数据时加上% csrf_token %标签。

 

防御原理:

1) 渲染模板文件时在页面生成一个名字叫做csrfmiddlewaretoken的隐藏域。

2) 服务器交给浏览器保存一个名字为csrftokencookie信息。

3) 提交表单时,两个值都会发给服务器,服务器进行比对,如果一样,则csrf验证通过,否则失败。

 

以上是关于django之csrf攻击的主要内容,如果未能解决你的问题,请参考以下文章

Django之cfrs跨站请求伪造和xfs攻击

Django信息安全相关之CSRF和XSS

自动化运维Python系列之Django CSRF跨站请求伪造中间件

django基础知识之csrf:

利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击

Django之XSS和CSRF