很开心能在这边跟大家分享有关于会话跟认证相关的内容以及跟认证相关的漏洞案例分析,在这个过程中过大家有什么疑惑或者有什么我讲得不对的地方,欢迎大家及时提出,我们一起交流探讨,共同学习!
今天的主要内容:
一.介绍什么是认证
二.介绍什么是会话
三.跟认证相关的一些安全漏洞案例分享
一.什么是认证?为什么需要认证?后端服务器是怎么认证的?(不会直接讲概念,而是通过案例图片跟说明,让大家体会什么是认证)
1.首先,如果是一些可以公开访问的页面,那么此时是不需要认证的,比如我请求访问淘宝网首页,进去之后,可以随意浏览商品信息同时不需要登录(登录就是认证的一种具体方式)
因为访问公开资源不会涉及网站安全问题跟用户安全问题,因此不需要认证机制就能访问。
2.这时候,当我去点击页面里的【购物车】按钮要去访问购物车信息时,就会弹出登录页面,要求我们进行认证。因为如果此时不进行认证的话,服务器并不知道此时操作的"我"是哪个用户(网站平台有很多个用户),它就不知道要返回哪个用户的购物车信息给我。这就是为什么需要认证的原因,当然进行认证的话,也是为了网站的安全跟保证用户的安全(包括隐私安全)。
3.通过以上信息的了解,我们也容易知道,其实平常我们进行:输入账号和密码进行登录的这类操作,就是一种网站的认证机制。由于HTTP协议的无状态特性,所以通过认证,服务器才能知道我们是谁。
二.什么是会话
1.前置知识:浏览器跟远程服务器的交互,是通过HTTP协议进行的。(某个计网协议就是规定两台计算机的进程之间进行"通信交流"的具体方式)
并且HTTP协议是【无状态】的:所谓无状态,就是在每次浏览器跟服务器的交互中,它只是纯粹地负责接收请求并响应请求,服务器不会在意本次请求是从"哪个浏览器"发给它的,更不会去记忆同一个浏览器跟它进行多次交互中产生的额外的数据信息。正是因为HTTP协议的无状态性,它割舍了很多的功能特性,只保留了最原生的接收请求并响应请求功能,因此通过这个协议,可以使得两台计算之间的通信都会变得快速高效。
2.假设我们重新回到上面的那个购物车场景:我们访问了淘宝网首页,点击购物车后,页面提示我们进行登录认证,这时候我们输入了账号密码并登录成功。
这时候可以看到,正是通过认证之后,服务器才知道我们"是谁",是哪个用户,所以可以把当前我这个用户的各种信息读取出来,比如购物车有84个商品。
现在问题来了,HTTP协议是无状态的,假设我们现在网站只有认证这个机制存在,那么当我们点击【立即购买】或者【加入购物车】按钮后,会发生什么呢?(大家稍微思考一下......)
.......(若干秒后.....)
--又会出现之前的老毛病,服务器很健忘,它马上忘记了此时的用户是谁,因此不管是加入购物车还是立即购买,它不知道到底是谁要把商品加入购物车,不知道此时要立即购买的是哪个用户,如果不知道是哪个用户,那么就不知道要往哪个用户的购物车塞东西或者扣他的钱下单购买商品。
这时候,我们该怎么办呢?再次进行认证就可以了。但是这样的话,会非常麻烦,每次我点一下按钮,点一下功能,就得认证一次,这是无法忍受的。
因此我们需要一种机制,能够帮助服务器"记忆"此次登录的用户是谁,这样就能避免上面的重复认证问题了。这就是会话机制的由来:通过额外的一些数据存储手段,来帮助服务器"记忆"到它的请求,是否是属于之前某个已经有认证过的浏览器。
2.
标签:HTTP,登录,漏洞,用户,认证,会话,服务器,购物车 From: https://www.cnblogs.com/chikuangCoding/p/16651911.html