茶话验证码

本文属于科普性质,以对话的形式进行,不讲深奥的道理。

用户密码忘记了,登录不了网站怎么办?

  给Ta手机发送一条短信验证码,用验证码来设定新密码。

怎么知道用户的手机号码是多少?

  用户注册的时候,强制要求填写手机号。

用户乱填一个手机号怎么办?

  通过短信来验证。生成一个随机数当作验证码通过短信发到填写的手机号上,让用户把验证码填写回来,如果填写正确,证明手机号不是乱填的。

有时用户收不到验证码短信,或者隔了几分钟才收到,不能让用户一直等。怎么办?

  让用户可以点个按钮重新发送验证码。

用户一直点重发,比如1秒点一下重发,浪费短信条数怎么办?

  前后端都限制,前端限制60秒后才能重发。后端限制同一个会话,或者同一个手机号60秒内不能发2条。

坏蛋用机器人每60秒“点”一次发送验证码,怎么办?

  发短信验证码之前要求用户先填图形验证码。填对了判为人,发送验证码短信,填错了判为机器人,不发验证码短信。

人也会填错图形验证码,怎么办?

  如果填错了,再换一张图形验证码给Ta填。

短信验证码有时收不到,60秒后重发,又2条都收到了,不知道以哪条为准,怎么办?

  每条验证码产生个序号,序号也出现在短信中,并在界面提示用户输入哪个序号的验证码,这样就知道以哪条为准啦。

 

 

有些图形验证码太简单,容易被机器人识别(破解),怎么办?

  换复杂的图形验证码,比如 3维数字,汉字带旋转,动画。

(抱歉,一时找不到3D验证码,哪位知道,感谢)

有些图形验证码太复杂,人也很难识别怎么办?

  可以用拖动拼图的方式。背后的原理是对滑块的坐标与时间的关系来区分人与机器,具有对人友好、区分效果好等特点。

这么说图形验证码是用来阻止坏蛋的,坏蛋毕竟是少数,但图形验证码却给占多数的好人(好蛋)带来了麻烦。能不能改进一下,平常不要出现图形验证码,只在发现坏蛋的情况下出现?

  这个,有难度。那就一开始不出现图形验证码。你接着问。

如何发现坏蛋?

  发送了短信验证码,却没填对,或者点了重新发送,就识别为坏蛋,在重新发送时要求“填写”图形验证码。

如果是人真的没有收到短信呢?

  只能算Ta倒霉,被误判坏蛋。不过也只是让Ta“填写”图形验证码而已。

“在网络上,你无法知道对方是不是一条狗。”,坏蛋不点重新发送,每次都伪装成第一次发送,怎么办?

  通过cookie跟踪Ta,就知道Ta就是刚才发送过一条短信验证码的家伙。

那就每次都先清掉cookie,再访问网页。要知道如果是机器人,访问前清掉cookie轻而易举。

  监测客户IP短时间内发送超过一定条数的短信,再想发送就要求填写图形验证码。

(以上对话,纯属虚构,就是为了让你知道短信验证码和图形码证码这些东东)

posted @ 2020-11-10 23:55  BillySir  阅读(432)  评论(2编辑  收藏  举报