一(业务逻辑层面)
1.与其他语言进行数据交互的时候,数据需要进行加密,不同语言的底层加密算法是共通的
(1)对称性加密,加密解密的密钥是一样的,效率相对比较快,安全性相对低一点**
(2)非对称性加密,加密解密的密钥是不一样的,公钥加密就需要私钥解密,私钥加密就需要公钥解密,效率相对比较慢,安全性相对高一点
- 2.与其他语言进行数据交互的时候,需要添加签名验签(签名设置有效期,并且生成签名的参数加上时间戳)
(1)保证请求来源合法(不至于让任何知道请求地址的,都可以随意请求)
(2)保证数据的一致性(防止数据被串改) - 3.IP层面,触发加入黑名单规则(统一将黑名单IP加入到redis的一个集合中,方便判断,以及将IP加入黑名单时的详细信息,比如添加时间,添加请求的接口地址等存入到IP黑名单表中)
(1)同一个IP每几秒请求接口次数超过多少次就加入黑名单(或者同一个IP访问指定接口每秒钟请求超过多少次加入黑名单)
(2)同一个IP注册用户数量超过多少个将其加入黑名单 - 4.用户ID层面,触发加入黑名单规则(统一将黑名单用户ID加入到redis的一个集合中,方便判断,以及将用户ID加入黑名单时的详细信息,比如添加时间,添加请求的接口地址等存入到用户ID黑名单表中)
(1)同一个用户每几秒请求接口次数超过多少次就加入黑名单(或者同一个用户访问指定接口每秒钟请求超过多少次加入黑名单) - 5.设备号层面,触发加入黑名单规则(统一将黑名单设备号加入到redis的一个集合中,方便判断,以及将设备号加入黑名单时的详细信息,比如添加时间,添加请求的接口地址等存入到设备号黑名单表中)
(1)同一个设别号每几秒请求接口次数超过多少次就加入黑名单(或者同一个设备号访问指定接口每秒钟请求超过多少次加入黑名单)
(2)同一个设备号注册用户数量超过多少个将其加入黑名单 - 6.手机号层面,触发加入黑名单规则(统一将黑名单手机号加入到redis的一个集合中,方便判断,以及将手机号号加入黑名单时的详细信息,比如添加时间,添加请求的接口地址等存入到手机号黑名单表中)
(1)拉黑虚拟运营商号段,比如以165,171等等开头注册的手机号
(2)以虚拟运营商号段注册的用户禁止注册
二(使用第三方服务)- 使用阿里云提供的DDoS高防IP,可以将攻击流量引流到高防IP,确保原站的稳定可靠
- 使用阿里云提供的爬虫风险管理服务,可以防止核心接口被刷,以及营销项目被薅羊毛等等服务
- 使用网易易盾提供的营销反作弊服务,可以防止营销项目被薅羊毛