为什么要有验证码

cookie和session登录

用户登录成功后,为用户颁发一个登录状态标识(cookie:JSESSIONID = sessionid),用户下一次领麻辣烫时带着标识就有资格领到并可以根据标识的号领对应的自己点的麻辣烫。

思考登录为什么不仅需要账户,还需要密码?只有账户行不行?

理论上讲只要拥有系统的一个标识即可以登录,就像领麻辣烫只认牌就好。但是实际上我们使用系统时,账户都有一些意义(比如自己的姓名,电话,网名,HelloKitty等)而并不是(8*y4137&I1%B)这种乱码,因此账号比较容易猜到(甚至会显示在页面上),比较容易破解,并且每次试登录别人的账号不能像密码那种控制5次输入错误就锁定(但也可以连续登录5次不存在的账号就锁定IP禁止登录也能实现),因此在只用账号可能会被有心之人看到记住或猜测或穷举一些常用的账号破解。
故,我们在使用账号的前提下,还需要密码。
其实只要知道了账号,密码也可以暴力破解,所以要加上输入多少次就禁止登录或验证码防止利用软件刷子一直破解,增加破解成本。

思考为什么登录时需要验证码?

验证码可以防止表单重复提交(多次点击,F5刷新,回退页面重复提交),因为可以设置一个每次都不一样的验证码用完一次立即删除。
验证码还可以防止黄牛利用大量账号自动化登录刷票抢票,只需要设置像12306那样反人类的验证码就可以增加黄牛成本阻止这种情况。

思考为什么用短信验证码?

短信验证码和账号密码都可以在一定程度验证本人身份,密码可能会被猜出或输入时被看见或被猜出,这种意义上讲,短信验证码比账号密码更加能验证本人的身份(手机不丢且无锁屏密码除外)。但手机也有可能丢失,因此支付场景一般使用支付密码或生物特征。
短信验证码比起账户密码更具有瞬时性,密码长时间不更换。
短信验证码比起使用简单的普通验证码(反人类数学题验证码除外)更能防止用户大量注册(你起码得有手机才能注册并且一般一个手机号限制了只能注册一个账号),恶意注册,比如水军,恶意注册多个小号造谣等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值