• 从明天起,要做一个有态度的验证码


    我们浏览网站经常会用到一些验证码,主要目的是防止来自暴力破解或密码穷举等方面的攻击,

    但有时候验证码的出现也会影响用户的浏览体验,解决方案之一就是设置一个抛错阀值,当有恶意用户

    在尝试暴力破解或穷举的时候输错次数超过阀值,便触发验证码框的弹出,这样既可以阻止攻击者的

    恶意行为又可以提高合法用户的浏览体验。

    那么trouble来了,我通过什么信息去标识一个用户呢?解决方案有很多种。

    • 对于已注册过的用户

    已经注册过的用户肯定有自己的用户ID,而且这个ID是不会变的,那么就可以利用这个ID做全局变量,

    然后设置count计数,当超过输错上限的阀值(比如3次或6次)的时候,验证码弹出。

    • 对于未注册过的用户

    方法1. 未注册过的用户通常没有用户ID,这个时候可以获取用户IP地址并绑定该用户,然后设置阀值并计数,

    超过上限便弹验证码框。 

    方法2. 定义一个全局变量,运行几次加几次,当超过阀值的时候触发验证码弹框即可。

    (以上解决方案仅供参考,如有不妥请尽管拍砖指正。)

  • 相关阅读:
    asp.net web api KnownTypeAttribute
    nodejs 递归创建目录
    nodejs 复制、移动文件
    windows cmd命令行下创建文件和文件夹
    nodejs http静态服务器
    C# Socket TCP Server & Client & nodejs client
    gem 安装nokigiri
    nsis 固定到任务栏
    SpringBoot整合JPA
    Freemaker FTL指令常用标签及语法
  • 原文地址:https://www.cnblogs.com/tdcqma/p/5742076.html
Copyright © 2020-2023  润新知