代码改变世界

关于用户密码验证的一点点思考

2009-07-01 18:36  飞逝心情  阅读(182)  评论(0编辑  收藏  举报

互联网通常密码验证的方法如下:

1.本地输入密码字符串(暂时不需要控件的实时加密功能)

2.通过调用js函数完成本地加密过程(此处为Hash过程)

3.在服务器查询数据库,执行相同的加密过程,将结果与传入结果进行比较,判断用户登录成功与否

4.生成验证成功的Session或者Cookies

好了,那么问题现在出来了

问题一 由于Session需要点用服务器空间,大型的应用一般用Cookies来保存用户的登录状态,那么,如果保证客户提供的Cookies都是正确的而不是伪造的呢.

问题二 由于前台的加密JS函数用户是可以得到的,直接查看JS文件或者通过其它的方法,那么,加密的算法也就公开了,公开后的一个结果就是可攻击性增强了(无非就是利用同样的函数再加密一下).怎么样能够加入一个全新的验证部分,达到服务器真正的验证用户呢