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验证通过,否则失败。

原文地址:https://www.cnblogs.com/lirunsheng/p/10996888.html