千万不能把用户的密码放到cookie中,哪怕是经过加密的

在我们开发登录页面的时候,经常会有这样的一个需求:要求有记住密码的功能。这个功能肯定是用Cookie来做的。我们会把用户登录的信息存放在客户端的cookie里,这 样,我们每个页面都从这个cookie里获得用户是否登录的信息,从而达到记录状态,验证用户的目的。

但是,记住,我们千万不能把用户的密码放到cookie中,哪怕是经过加密的

那么怎么设计记住密码的功能了?下面是我在网上看到的一个思路,觉得不错,留下来看看:

在cookie中,保存三个东西——用户名登录序列登录token

用户名:明文存放。

登录序列:一个被MD5加密过的随机数,每次以输入口令的方式登录后更新。

登录token:一个被MD5加密过的随机数,仅一个登录session内有效,新的登录session会更新它。

他们都会保存在服务器上,登录token是单实例登录。意思就是一个用户只能有一个实例。登录序列是用来做盗用行为检测的。如果用户的cookie被盗后,盗用者使用这个cookie访问网站时,我们的系统是以为是合法用户,然后更新“登录token”,而真正的用户访问时系统发现,只有“用户名”和“登录序列”相同,但是“登录token”不对,这样的话,系统就知道,这个用户出现了被盗用的情况,于是,系统可以清除登录序列和登录token,这样就可以令所有的cookie失效,并要求用户输入口令。并给警告用户系统安全。

不要让cookie有权限访问所有的操作。否则就是XSS攻击,这个功能请参看新浪微博的XSS攻击

下面的这些功能一定要用户输入口令:

1)修改口令。

2)修改电子邮件。(电子邮件通过用来找回用户密码)

3)用户的隐私信息。

4)用户消费功能。

Xss攻击参考:http://coolshell.cn/articles/4914.html

也可参考:discuz的处理

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值