paip.提升用户体验与安全性----登录与权限流程总结

paip.提升用户体验与安全性----登录与权限流程总结

 

判断是否登录状态... 1

多处登录及设置登录TOKEY.. 1

保证密码修改实时体现... 1

登录时显示当前所有登录会话... 2

登录地点变更提示... 2

千万不要在cookie中存放用户的密码。... 2

限制密码出错登录次数。。防止程序破解... 2

盗用COOKIE行为检测... 2

使用验证码... 3

系统全局防守。... 3

使用第三方的 OAuth OpenID 也不失为一个很不错的选择... 3

登录纪录查看... 3

登录异常纪录... 3

参考... 3

 

 

判断是否登录状态

除了判断用户名COOKIE是否存在正常,还要判断-密码修改序列==数据库的。。否则视为已经在别个修改过密码,需要重新登录

 

多处登录及设置登录TOKEY

因为多个设备的原因,可能需要多处登录。。需要充许多个登录SESSION存在

 需要在服务端储存登录会话.COOKIE(sessionID,username,pwdSeq,sign,exp,createdate)

 

 

 如果非常严格的情况下,需要执行单处登录,服务端只存储此用户的一个会话。。。

断线时的处理: 提示用户已经有一个登录会话了,如果需要强行清除此对话,可以通过安全问题等验证。。

 

保证密码修改实时体现

当用户修改了密码时,设置服务端的pwdSeq,为当前时间HASH

判断用户是否登录时,还需要判断COOKIE中此pwdSeq,与最新的pwdSeq是否一致,如不一至,说明密码已经修改,客户端重置COOKIE,提示用户密码刚被修改,需要重新登录

 

登录时显示当前所有登录会话

多处登录时,用户可以查看当前所有登录会话,并且进行管理,踢出不正常会话..

 登录地点变更提示

当登录地点与上次不一样时,需要提示用户。。“您的登录地点变更,上次登录地点在xxxx,登录IPxxxx , 登陆时间XXX.. 如果不是你本人登录,请及时修改密码

 

如果登录地点一样,只需要提示用户你上次登陆时间XXX.. 如果不是你本人登录,请及时修改密码

 

 

此外:用户在用户中心可以看到登录纪录。包括失败及成功的纪录,以了解自己账户的安全情况..以便决定是否更改密码等措施..

 

 

千万不要在cookie中存放用户的密码。

  • 加密的密码都不行。因为这个密码可以被人获取并尝试离线穷举。所以,你一定不能把用户的密码保存在cookie中。我看到太多的站点这么干了。

 

限制密码出错登录次数。。防止程序破解

盗用COOKIE行为检测

对比IP

 

使用验证码

系统全局防守

  •  
  • 上述的防守只针对某一个别用户。恶意者们深知这一点,所以,他们一般会动用“僵尸网络”轮着尝试一堆用户的口令,所以上述的那种方法可能还不够好。我们需要在系统全局域上监控所有的口令失败的次数。当然,这个需要我们平时没有受到攻击时的数据做为支持。比如你的系统,平均每天有5000次的口令错误的事件,那么你可以认为,当口令错误大幅超过这个数后,而且时间相对集中,就说明有黑客攻击。这个时候你怎么办?一般最常见使用的方法是让所有的用户输错口令后再次尝试的时间成本增加。

使用第三方的 OAuth OpenID 也不失为一个很不错的选择

 

登录纪录查看

用户可在用户中心查看自己的登录纪录,包括失败与成功的,以找出不安全的登录。

 

 

登录异常纪录

有利于提升用户体验,用来分析问题..可参照注册环节的需要纪录事项

参考

你会做Web上的用户登录功能吗?COOLSHELL

posted @ 2012-09-09 23:18  attilaxAti  阅读(33)  评论(0编辑  收藏  举报