当标识密码被分配给客户端时,客户端浏览器发起的后续请求会将这个“标识密码”附加到请求头参数中,这样服务器就可以区分哪些请求是同一用户 。众所周知,Cookie是一种会话保持的技术方案 。理论上,你可以在得到一个Cookie的时候假装成一个用户 。我们说禁用cookies后会话可能无法正常工作,但是我们可以通过GET将SessionID传递给服务器,所以如果SessionID以纯文本形式传输,就存在安全风险 。
假设我拿到了别的用户的淘宝网站的cookie,我放到自己的http请求里,我就可以冒充这个用户吗?
大家都知道,Cookie是会话保持技术方案的一种,从理论上说拿到了Cookie是可以冒充用户的 。下面具体分析下:Cookie的机制原理我们知道HTTP协议本身就是无状态的,服务器端默认情况下是无法分辨用户的,这样显然是不合理的,所以我们需要给每个访客加上一个“标识口令”,当分配了标识口令给客户端后,客户端浏览器后续发起的请求都会把这个“标识口令”附带在请求头参数里,这样服务器端就能分辨哪些请求是同一个用户了 。
这个“标识口令”由服务器端生成,放置在客户端浏览器Cookie中,而服务器端对应会有一个Session,这个Session的唯一标识(SessionID)也是存储在Cookie中,篡改Cookie可以冒用请求上面讲到了,服务器端的SessionID是存储在客户端Cookie中的,这样一来其它用户一旦拿到Cookie中的SessionID后,是可以冒充原始用户发起请求的 。
【为什么我禁用了cookie还是有cookie,我就可以冒充这个用户吗】这似乎不合理!但是,Cookie和Session的机制是这样的 。我们说在Cookie被禁用后会话可能无法正常工作,但是我们可以通过GET将SessionID传递给服务器,所以如果SessionID以纯文本的形式传输,就存在安全风险 。拿到淘宝的cookies就不能冒充用户 。因为cookie存储在客户端,不安全,所以当我们将用户数据存储在cookie中时,会对其进行加密 。
推荐阅读
- 为什么宾得镜头这么贵,为什么镜头差价这么大
- 电信为什么搞无限流量,电信说是无限流量
- 苹果imac为什么那么贵,Pro便宜那么多
- 为什么删朋友圈,你为什么会删朋友圈
- 为什么王者荣耀重做,重做的意义到底在哪呢
- 王者荣耀为什么会沉迷,未成年人沉迷王者荣耀
- 手机开热点为什么费电,为什么手机开热点耗电很大
- 京东客服为什么在宿迁,京东在宿迁到底是怎样的存在
- 电竞解说为什么赚钱吗,LPL解说娃娃首次公开年薪
- 三星为什么可以用晓龙,为什么魅族能用三星处理器