正文:认证代码这个反人类的东西, 在短时间内不能退出历史阶段。但我们可以尝试优化它, 并尝试改善用户体验。\ n1。为什么您有验证码?事实上, 主要的问题已经说过, 是为了证明网络的终结是一个人, 而不是一台电脑。那么, 为什么要区分一个人和一台电脑呢?原因有很多, 比如账户安全、反欺骗、反广告等。\ n 帐户安全 \ n 在我们的日常在线生活中, 有两个词我们必须熟悉, 不能再熟悉的帐号和密码。微博, 微信, 知道, 淘宝, 这一切都不是不可或缺的账号和密码。我们用一个账户来区分人和人, 用密码来保护每个人的账户不会被别人使用。但是, 有一个密码来破解密码。破解密码最简单的方法是猛烈破解密码, 换句话说, 一个接一个地尝试密码, 直到它成功。如果这种尝试是由劳动做出的, 那么效率就会很低。计算页面刷新的时间, 最多尝试一次超过 1 0次。而如果你换机器来做这件事, 在没有其他条件的情况下, 一分钟很容易尝试几十万次。我们经常在网上看到各种各样的投票活动。一般来说, 这些投票活动限制每个人只投票一次, 以确保投票的有效性。在这一点上, 它需要一种方法来确保是人, 而不是机器, 坐在电脑前。类似的情况还包括使用微博垃圾粉、淘宝刷赞美、抽奖用僵尸账号等。任何开放的社区都会受到垃圾广告的困扰。与帐户安全类似, 劳动力是超过 10分钟, 机器可以达到数百。归根结底, 人与机器的根本区别是效率。在简单的重复行为中, 机器的效率远远大于人类, 往往几十倍甚至几百年, 然后考虑到机器不需要休息, 计算工作效率差距会有所不同, 到更多超过半千。因此, 我们必须有一种方法, 能够判断是一个人还是一台坐在网络尽头的机器。目前, 此方法是一个 "验证码"。你能减少验证码的使用, 改善用户体验吗?答案是肯定的。是的。网络工作者在这方面做了很多努力, 实现了很多方式, 这里不会列出, 只有少数给你一个解释。有兴趣的学生可以做自己的扩展。\ n 块僵尸帐户注册 \ n 最基本的方法是限制相同的 ip 只允许在一定的时间内注册有限数量的帐户。但是, 通过更改 ip 方式, 可以很容易地突破这种方法。进一步的方法进一步限制通过饼干, udid, ua 等手段。我们甚至可以根据用户的行为来判断。当用户注册时, 如果他已经在我们的网站上有一个浏览记录, 并且浏览记录符合人类行为特征, 则不会显示验证码, 否则将显示验证码。此外, 用户的点击操作也可以作为判断的原因之一。谷歌的新技术 recaptcha 是一件非常有趣的事情, 感兴趣的学生可以看看谷歌发布的一个新版本的 recaptcha 机器, 只要点 "我不是机器人"!为了确保帐户安全 \ n 帐户安全包含了许多情况, 这里只对崩溃或暴力破解和其他大量尝试的情况进行讨论。我们能做的第一件事就是 ip 限制。在同一 ip 中, 在一定时间内只允许有限数量的尝试, 通过更改 ip 工具, 可以很容易地突破鸡蛋。为了处理这种情况, 我们可以计算每5分钟服务器收到错误的密码登录请求, 如果此值高于预设值, 相信现在有人在攻击, 那么登录需要填写验证码。我们还可以进一步优化它, 并将其与上面提到的用户的历史行为进行比较。当用户具有符合人类行为特征的历史记录时, 不显示验证码。
|