2014年11月17日
[知乎]新浪微博登录时,只有输对密码后才需要输入验证码,是不是不好的设计?
@郑维 的说法,是不正确的。
从吃性能的角度来说,做一次密码比对,比生成一张验证图片,要更加消耗计算能力。
另外,如果要通过请求服务器,反复生成验证码,我可以直接请求那个图片的URL,每次他都会返回给我一个新的。
比如访问:http://login.sina.com.cn/cgi/pin.php
如果要攻击的话,直接反复攻击这个就好。不必每次去试密码。
再者,现在的新浪微博登录,会先在浏览器里利用JS,做一次客户端密码加密后,再送到服务器端验证的。从这个角度来说,简单的网络登录攻击,很难奏效。
另外,可以补充一点历史知识。原来的新浪微博,并没有这么复杂的输入验证码的过程。去年因为大量的密码泄漏,新浪微博规避密码泄漏的风险,才提示用户,加上这一登录限制。用户依然可以在设置-帐号安全-登录保护一栏,手动的将某些地点,设置为不需要填写验证码的情况。
不过,现在的这是,居然是以城市为单位,倒是有些令人惊讶。
个人认为,新浪加上这样的一个登录后再填验证码的设计,是一个权宜之计,并非深思熟虑后的结果。在实际使用上,也是增添了麻烦,而未必增加了安全。当然,给用户一种心安的感觉,倒是有的。