在浏览器端进行用户密码加密后再传输的缺点!

红薯 发布于 2014/10/20 08:39
阅读 11K+
收藏 7

目前 OSC 的登录可谓是武装到牙齿,首先是 HTTPS 登录,其次登录时在浏览器端对密码进行 SHA1 加密后再传递到 OSC 的服务器。也就是说连我们也无法得知你的密码是什么!

很安全是吗?但是这样做有缺点!

这两天有不少 OSC 的账号被撞库,这些账号被用来发布各种小姐、毒品、诈骗等信息。

我昨晚半夜被同事电话 call 醒的时候再想一个解决办法:

用户登录的时候,我直接在服务器端判断其密码是否过于简单(例如纯数字或者纯字母),如果过于简单则强制要求通过 Email 重置密码。

但是在着手开始写代码的时候我发现,尼玛,我怎么知道用户的密码啊,过来是 SHA1 过的哈希值!

擦擦擦!只好作罢!!!

加载中
4
天天-_-
天天-_-
可以把一些常见的简单密码的sha1值放一张表里,用户在注册或修改密码时去匹配一次,如果匹配到了就要求改密码。当然这增加了成本
黑狗
黑狗
靠谱
苗哥
苗哥
我觉得这个方法靠谱,直接把常见的简单密码的加密后的值做成壹个字典,匹配加密后的字符串,如果相同给出提示,强制修改……
0
钛元素
钛元素

你的意思是先是在客户端用js加密,然后到服务器上再进行二次加密?


0
DavidWTF
DavidWTF
可是我看登录的网页是http 的呀,中间人直接修改了网页,后面的措施都是扯淡! @红薯
0
DavidWTF
DavidWTF
撞库的问题,我相信你已经加盐了吧,应该不怕撞。应该是用户在其它网站使用了相同的帐号密码。
DavidWTF
DavidWTF
以为是撞hash 后的
DavidWTF
DavidWTF
噢,理解错了。
红薯
红薯
装酷跟加盐没关系,兄弟
0
DavidWTF
DavidWTF
密码判断可以在登录时的网页中判断,给后台发个标志,然后你就能发邮件让它改密码了。
0
爱思考的People
爱思考的People
为何不在用户输入时进行判断?
黑狗
黑狗
不从服务端做验证,都会被有人破戒掉,毕竟代码用户是可以看到的,也是可以修改的
0
Arrowing
Arrowing
在前端加密前判断密码是否简单就好啦,然后付个参数传给后台
0
Canrz
Canrz
为嘛不先正则判断下再传?
0
jininij
jininij
把密码的复杂度分析写到前端里啊!!!
0
黑狗
黑狗

前段校验密码这种低级手段,对于搞破坏的人来说没有一点点作用的。

就像现在的网游,只能把所有东西都放到服务器上,才不会被破解掉。不然,你代码都在别人那里,别人直接改你前端代码,或者直接发请求道你服务端就ok了

台阶
台阶
不对啊,这本是对正常用户的善意!
当前问题已关闭评论
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部