用户名:明文存放。
登录序列:一个被MD5散列过的随机数,仅当强制用户输进口令时更新(如:用户修改了口令)。
登录token:一个被MD5散列过的随机数,仅一个登录session内有效,新的登录session会更新它。
2)上述三个对象会存在处事器上,处事器的验证用户需要验证客户端cookie里的这三个事。
3)这样的设计会有什么样的结果,会有下面的结果,
a)登录token是单实例登录。意思就是一个用户只能有一个登录实例。
b)登录序列是用来做盗用行为检测的。假如用户的cookie被盗后,盗用者利用这个cookie会见网站时,我们的系统是觉得是正当用户,然后更新“登录token”,而真正的用户返来会见时,系统发明只有“用户名”和“登录序列”沟通,可是“登录token” 差池,这样的话,系统就知道,这个用户大概呈现了被盗用的环境,于是,系统可以排除并变动登录序列 和 登录token,这样就可以令所有的cookie失效,并要求用户输进口令。并给告诫用户系统安详。
4)虽然,上述这样的设计照旧会有一些问题,好比:同一用户的差异设备登录,甚至在同一个设备上利用差异的欣赏器保登录。一个设备会让另一个设备的登录token和登录序列失效,从而让其它设备和欣赏器需要从头登录,并会造成cookie被盗用的假象。所以,你在处事器服还需要思量- IP 地点,
a) 假如以口令方法登录,我们无需更新处事器的“登录序列”和 “登录token”(但需要更新cookie)。因为我们认为口令只有真正的用户知道。
b) 假如 IP沟通 ,那么,我们无需更新处事器的“登录序列”和 “登录token”(但需要更新cookie)。因为我们认为是同一用户有同一IP(虽然,同一个局域网里也有同一IP,但我们认为这个局域网是用户可以节制的。网吧内并不推荐利用这一成果)。
c) 假如 (IP差异 && 没有用口令登录),那么,“登录token” 就会在多个IP间产生变革(登录token在两个或多个ip间被来往返回的调动),当在一按时间内到达必然次数后,系统才会真正以为被盗用的大概性很高,此时系统在靠山排除“登录序列”和“登录token“,让Cookie失效,强制用户输进口令(或是要求用户变动口令),以担保多台设备上的cookie一致。
不要让cookie有权限会见所有的操纵。不然就是XSS进攻,这个成果请参看新浪微博的XSS进攻。下面的这些成果必然要用户输进口令:
1)修改口令。
2)修改电子邮件。(电子邮件凡是用来找回用户暗码,最好通发邮件或是发手机短信的方法修改,可能爽性就不让改一一用电子邮件做帐号名)
3)用户的隐私信息。
4)用户消费成果。
衡量Cookie的逾期时间。假如是永不外期,会有很不错的用户体验,可是这也会让用户很快就忘了登录暗码。假如配置上逾期期限,好比2周,一个月,那么大概会好一点,可是2周和一个月后,用户依然会忘了暗码。尤其是用户在一些民众电脑上,假如生存了永久cookie的话,便是泄露了帐号。所以,对付cookie的逾期时间我们还需要衡量。
找回口令的成果找回口令的成果必然要提供。可是许多伴侣并不知道怎么来设计这个成果。我们有许多找回口令的设计,下面我逐个点评一下。
千万不要利用安详问答。事实证明,这个环节很烦人,并且用户并不能很好的配置安详问答。什么,我的生日啊,我母亲的生日,等等。因为本日的互联网和以前纷歧样了,因为SNS,本日的互联比以前更真实了,我可以上facebook,开心,人人网,LinkedIn查到你的许多的真实的信息。通过这些信息我可以利用安详问答来重设你的口令。 这里需要说一下 Facebook,Facebook的安详问答很强大,还要你通过照片认人,呵呵。