一些网站会使用浏览器储存你的用户名和密码,当浏览器发送访问请求的同时,读取这些数据直接登陆。在存在cookie的一段时间内,用户任何时间访问都可以直接被服务器识别为已登陆。这极大方便了用户。
但是cookie保存的数据基本上是没有保护的。如果已知网站,则很容易获得对应的cookie数据内容,cookie是直接暴露出来的。这对用户是及其不安全的,因此对于某些很多网站,有些用户电脑并没有中毒,但是账号却被别人用了。没错,我说的是百度/微博之类。当然会这样做的网站通常账号是没什么太大价值的。
浏览器如何存储cookie?
虽然cookie给了用户方便,但是没有什么方便是没代价的。同时cookie更多用来记录用户的行为,服务器不但要获取你的账户,还有时候还要获得你的隐私,比如浏览习惯。既然cookie有这么多危害,为什么还要用呢?因为不管对于网站还是用户,使用起来效果太甜了。
所以用户使用cookie的时候要小心,cookie虽然好吃,但小心使用哦。要在安全的环境中使用,不浏览不信任的网站。如果非要浏览不信任的站点,我有个小建议:使用不常用的浏览器来浏览。比如平时用谷歌浏览器浏览各种网站使用cookie,当想要安全和隐私的时候,更换另一个不常用浏览器,如ie或者火狐之类,不同浏览器的cookie一般是不共享的,所以对于不受信的网站,换个浏览器来浏览。虽然电脑上都有ie但通常不会用ie的,这个时候就派上用场了。
另一方面对于开发者,如果觉得使用明文记录password的方式太不安全,但是仍然想记录用户的已登录状态。也是有方法的,当然使用session是不可取的,因为会占用服务器内存。可以在client端记录password的hashcode,单独做一套用hashcode登陆的查询,因为用hashcode是无法反推出passwod原文的,所以这是相对安全的。同时hash还要和UserName匹配才能完成登陆,因此错误登陆的情况基本也不会出现的。