浏览器 cookie 一直用于保存网站用户的 一些不敏感信息 如 访问网站的主题风格 用户别名 而用户登录一般都使用的是session 但是 当用户量达到一定的规模时 使用session 就会给服务器增加很多负担 所以大型的网站都会使用 cookie 来保存用户登录信息 一些开源的 cms 论坛程序 也是如此
几乎每本网页编程的书都会说 cookie 不安全 但都没有细讲其原因 最近在做一个程序时 想到这个问题 就打算来分析一下
基于 cookie 机制 的访问流程
↓
用户首次登陆后生成 用户cookies 设定有效期
↓
用户再次访问判断是否存在cookie
↓
再根据cookie 的用户信息进行判断 与数据库比对 是否合法 有的程序可能不会再次验证
存在cookies 就可以访问
↓
登录成功
其中的问题在于 这个cookie 不是唯一的 没法限定只能在一台电脑使用
如果把登录后的cookie内容 全部复制到另一台电脑的浏览器 再访问该网站 就可能视为已登录了
我在人人网 做了下尝试
用 chrome 下 登录了 renren.com 在用chrome 插件 Edit This Cookie 查看到了所有的cookies
在另一台电脑上 用firefox 访问renren.com 用FF 插件 firebug + firecookie 新建所有cookie
登录成功 ...