目录 一.csrf跨站请求伪造 概念引入 概念讲解 二.csrf校验策略 概念讲解 form表单操作csrf策略 ajax请求csrf策略 三.csrf相关装饰器 四.auth认证模块 五.auth认证相关模块及操作 功能及方法介绍 部分功能操作代码展示 六.扩展auth_user表 七.作业 一.csrf跨站请求伪造 概念引入 简介 我们通过模仿一个钓鱼网站来提现csrf跨站请求伪造. 钓鱼网站:模仿一个正规的网站 让用户在该网站上做操作 但是操作的结果会影响到用户正常的网站账户 但是其中有一…
今日内容 csrf跨站请求伪造 钓鱼网站:模仿一个正规的网站 让用户在该网站上做操作 但是操作的结果会影响到用户正常的网站账户,但是其中有一些猫腻 eg:英语四六级考试需要网上先缴费,但是你会发现卡里的钱扣了但是却交到了一个莫名其妙的账户,并不是真正的四六级官方账户 模拟钓鱼网站转账案例 真网站: <h1>真网站</h1> <form action="" method="post"> <p>用户名: <input…
Django框架 目录 Django框架 一.csrf跨站请求伪造 1.简介 2.csrf校验策略 form表单csrf策略 ajax请求csrf策略 3.csrf相关装饰器 FBV添加装饰器方式 CBV添加装饰器方式 二.auth认证模块 1.简介 2.auth认证相关模块及操作 auth 模块 User 模块 login_required 模块 3.拓展auth_user表 一.csrf跨站请求伪造 1.简介 ​ csrf是django默认中间件中的一道,它用于验证网页的真伪性,通过在在前端…
中间件 一.什么是中间件 请求的时候需要先经过中间件才能到达django后端(urls,views,templates,models) 响应的时候也需要经过中间件才能到达web服务网关接口 django默认的七个中间件 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.c…
目录 一:csrf跨站请求伪造 1.什么是CSRF? 2.CSRF攻击案例(钓鱼网站) 3.钓鱼网站 内部原理 4.CSRF原理(钓鱼网站内部本质) 5.从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成以下两个步骤: 6.CSRF如何防御规避上述问题 二:如何符合校验 1.form表单如何符合校验 三ajax如何符合校验 1.第一种 利用标签查找获取页面上的随机字符串 2.第二种 利用模版语法提供的快捷书写 3.第三种 通用方式(直接拷贝js代码并应用到自己的html页面上即可) 4.…
SpringSecurity SpringSecurity是一个基于Spring开发的非常强大的权限验证框架,其核心功能包括: 认证 (用户登录) 授权 (此用户能够做哪些事情) 攻击防护 (防止伪造身份攻击) 我们为什么需要使用更加专业的全新验证框架,还要从CSRF说起. CSRF跨站请求伪造攻击 我们时常会在QQ上收到别人发送的钓鱼网站链接,只要你在上面登陆了你的QQ账号,那么不出意外,你的号已经在别人手中了. 实际上这一类网站都属于恶意网站,专门用于盗取他人信息,执行非法操作,甚至获取他人…
Django中的CSRF(跨站请求伪造) Django CSRF  什么是CSFR 即跨站请求伪装,就是通常所说的钓鱼网站. 钓鱼网站的页面和正经网站的页面对浏览器来说有什么区别? (页面是怎么来的?) 钓鱼网站的页面是由 钓鱼网站的服务端给你返回的 正经网站的网页是由 正经网站的服务端给你返回的 CSFR示例 模拟钓鱼网站中的转账操作 通常用户在正规网站进行转账操作,网页页面由正规网站服务端提供,数据返回到正规网站的服务端,而钓鱼网站页面与正规网站页面无异,但是会将用户输入的数据进行修改后返回…
摘要 Django中间件 csrf跨站请求伪造 一.Django中间件: 什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围内改变Django的输入和输出.每个中间件组件都负责做一些特定的功能. 但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能. 说的直白一点中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额外的操作,它本质上就是一个自定义类,类中定义了几个方法,Django框架会在请求的特…
Web框架之Django_09 重要组件(Django中间件.csrf跨站请求伪造)   摘要 Django中间件 csrf跨站请求伪造 一.Django中间件: 什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围内改变Django的输入和输出.每个中间件组件都负责做一些特定的功能. 但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能. 说的直白一点中间件是帮助我们在视图函数执行之前和执行之后都可以做…
一.什么是中间件 中间件是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出 二.中间件的作用 如果你想修改请求,例如被传送到view中的HttpRequest对象. 或者你想修改view返回的HttpResponse对象,这些都可以通过中间件来实现. 可能你还想在view执行之前做一些操作,这种情况就可以用 middleware来实现. Django默认的中间件:(在django项目的settings模块中,有一个 MIDDLE…