Cookie分类
1. 内存式Cookie: 存储在内存中,浏览器关闭后就会消失;
2. 硬盘式Cookie: 保存在硬盘中,其不会随浏览器的关闭而消失,除非用户手工清理或到了过期时间。
Cookie 的安全隐患
Cookie提供了一种手段使得HTTP请求可以附加当前状态, 现今的网站也是靠Cookie来标识用户的登录状态的:
1. 用户提交用户名和密码的表单,这通常是一个POST HTTP请求。
2. 服务器验证用户名与密码,如果合法则返回200(OK)并设置Set-Cookie为authed=true。
3. 浏览器存储该Cookie。
4. 浏览器发送请求时,设置Cookie字段为authed=true。
5. 服务器收到第二次请求,从Cookie字段得知该用户已经登录。 按照已登录用户的权限来处理此次请求。
这里面的问题在哪里?
假如我们直接设置Cookie字段为authed=true并发送该HTTP请求, 服务器岂不是被欺骗了?这种攻击非常容易,Cookie是可以被篡改的!