天天看点

极验使用流程

炒鸡辣鸡记得很久以前,那时候人与人之间还比较信任,发送短信验证码也没有那么多恶心的要求,拿来做短信轰炸机非常的方便。可是好景不长,时间到了2019年底,现在随便去找一个网站

inurl:register intitle:注册 intext:获取短信验证码      

就会发现,大家现在都加了发送前验证,来判断当前发送验证码的是不是合法用户,验证非程序直接调用,过滤机器人等操作。大大增加了人们做短信轰炸机的工作成本,上大学那会儿比较风靡的短信轰炸机现在也快消失殆尽了,就是这样一个原因。

验证机器人的常见方案有:使用前置验证码,例如图片识别验证,行为验证。利用极验进行行为验证是一种比较常见的方案,即通过拉动的方式进行行为验证。

​​极验官网​​

@RequestMapping(value = Path.INIT, method = RequestMethod.GET)
    @ResponseBody
    public String initVerificationCode(HttpServletResponse response) {
        response.setHeader("X-Frame-Options", "DENY");
        GeetestLib geetestLib = new GeetestLib();
        HashMap<String, String> param = new HashMap<>();
        param.put("client_type", "web"); //web:电脑上的浏览器
        param.put("ip_address", "unknnow"); //传输用户请求验证时所携带的IP
        //进行验证预处理
        int gtServerStatus = geetestLib.preProcess(param);
        //初始化结果标识status(status=1表示初始化成功,status=0表示极验服务器处于宕机状态)需要用户保存,在后续二次验证时会取出并进行逻辑判断
        geetestMap.put(geetestLib.gtServerStatusSessionKey, gtServerStatus);
        String responseStr = geetestLib.getResponseStr();
        return responseStr;
    }