关于登录cookie

waney 发布于 2014/11/28 10:58
阅读 232
收藏 1

收藏!数据建模最全知识体系解读!>>>

请问,关于登录后记录cookie,再验证的时候不去数据库里比较如何做到验证且相对安全。

例如OSCID,是否必须去数据库验证。

我的想法是把用户名、登录ip、用户id、用户名经过某种加密写到cookie里,在判断登录的时候取出cookie,经过某正规则算法,判断为真。是否可行?还请了解的给予指导。

加载中
0
caotian
caotian

两种方式:

1.你用什么语言开发的,就搜这个语言的加密算法,制作一个可以在服务器端解密出来的cookie。

2.另一种方式是cookies里同时记录各个值和根据这些值算出来的一个hash值,这样你只要保证hash制作的方法安全,比如可以有个值只在服务器端,服务器上对cookies里的值重新计算一次hash,对比hash和cookies里记录的是不是一致的,可以断定有没有被更改过,是否有效等。

waney
waney
回复 @caotian : 谢谢耐心讲解。非常感激。
caotian
caotian
回复 @waney : 还有的设备把使用次数加进随机数的,有的设备高级一点,需要服务器先生成一个随机pin码,输入到设备上,设备再生成一个随机密码等,这些算法多种多样,具体可以谷歌 动态令牌。
caotian
caotian
回复 @waney : 回复 @waney : 一种是用户先绑定令牌,把令牌的类似id记录在服务器端跟用户名绑定,使用的时候令牌知道自己的id,加上当前时间,生成一个随机数当作密码,服务器端知道令牌id和当前时间,使用相同的算法生成密码,检验生成的密码是否一致就可以认证了。这是一种以时间来计算的,需要保持时间一致,当然也可以容差一点,好的设备可以跟服务器通讯协调时间的,一般的设备就只能容差了。
waney
waney
回复 @caotian : 我是想问这个离线的令牌是一种什么算法,居然是脱机的。
caotian
caotian
回复 @waney : 你说的U盾密码的属于动态令牌,它的密码不是固定的,是通过U盾生成的一次性密码,使用一次即失效,因此只要保护好U盾即可安全。使用时用户只输入U盾生成的一次性密码,不需要输入自己设定的密码,就保证了电脑上的木马,网络传输过程中截获,都不能获取到可用的密码。缺点就是需要一个硬件设备,不过最近大家都把这个硬件的功能做到手机上了,因此出现很多的手机令牌app,像腾讯QQ
下一页
0
caotian
caotian

可行,最好加上密码相关的运算值和时间,防止用户在其它地方修改了密码,cookies仍然没有失效。

然后还要做好cookies防盗,防xss等

waney
waney
我就想请教下加密解密。
0
欲望故事
欲望故事
我一般是把加密过的数据保存到COOIKE,需要COOKIE跟数据库进行比较,并且有失效时间
0
牧沐
牧沐
防xss是那种 google啥的 搜索出可以直接带用户个人信息的链接 点进去直接登录是吧..
返回顶部
顶部