美文网首页
获取freewifi密码业务分析

获取freewifi密码业务分析

作者: vision_zhang | 来源:发表于2017-06-14 17:53 被阅读0次

       /sdk/ce7/aaz   /查询wifi哪些是freewifi 接口;

    会被拦截器拦截;根据当前的IP查询下是不是 白名单IP 如果是的话  就直接放行;

    不是的话 会记录到redis 记录访问次数;

    查询wifi是不是freewifi  同一个IP每天限制请求次数 1000次

    其他请求 同一个IP  限制   200次;   

    防止被爬虫;

    1   查询哪些wifi是freewifi :

          请求body是呗加密的;需要先解密处理;

          装成body体;

             getFreewifiList业务处理:

            1.1  黑名单校验:securityService2.checkRedisBlackListForE

             黑名单校验逻辑:首先走redis获取黑名单的列表;

      1.1.1 判断getPhoneMessage 是不是空 是的话就加黑名单;保存ip进黑名单;redis  和数据库都会存 ;数据库有了就更新更新时间;

    1.1.2 手机信息不为空;判断getAndroidId 为空不;不为空;查下redisg黑名单中有没有这个设备id;有就退出不让获取;

                                         判断设备ID 是不是为空;不为空就查下黑名单;有的话退出;

    1.1.3 当前安装包是否被禁用了    如果安装包不存在 ,直接判断是非法请求  (目前被注释了没有生效)

    1.1.4  判断用户,ip 是否 存在黑名单

    1.1.5 如果不存在sdk版本信息为空  直接认定非法请求.加入黑名单  (IP  设备ID 都会进  安卓ID)

    1.1.6  如果sdk版本信息在黑名单中也 直接退出

    以上条件都不符合 则通过黑名单校验 返回true

    2.1 校验token;

    2.1.1 // 根据包名 选择保存wifi的逻辑  如果是允许的包名 不用校验token 直接通过;com.cleanmaster.security,com.infreewifi.cct

    2.1.2   校验token redis   如果token信息或者包名为空返回 nullT =-3(token空)  或者nullP =-4(包名空)

                                  redis  根据包名 匹配token  如果匹配相等 就是成功; redis 没有就去数据库匹配; tbl_token_mail 这张表

    3.1  根据bssid  匹配对应的表名;组装查询SQL 查询freewifi 查到后就 返回数据

    SELECT *  FROM tbl_black WHERE keyword = #{keyword}

    传关键字  保存黑名单关键字到黑名单数据库(saveBlackList(PhoneDetail ph,HttpServletRequest request,String info))

    保存这个请求的手机信息到黑名单;

    相关文章

      网友评论

          本文标题:获取freewifi密码业务分析

          本文链接:https://www.haomeiwen.com/subject/oigxqxtx.html