通常情况下的api接口防护有如下几种:
- 使用HTTPS防止抓包,使用https至少会给破解者在抓包的时候提高一些难度
- 接口参数的加解密,通过md5加密数据+时间戳+随机字符串(salt),然后将MD5加密的数据和时间戳、原数据均传到后台,后台规定一个有效时长,如果在该时长内,且解密后的数据与原数据一致,则认为是正常请求;也可以采用aes/des之类的加密算法,还可以加入客户端的本地信息作为判断依据
- 本地加密混淆,以上提到的加解密数据和算法,不要直接放在本地代码,因为很容易被反编译和破解,建议放到独立模块中去,并且函数名称越混淆越难读越安全。
- User-Agent 和 Referer 限制
- api防护的登录验证,包括设备验证和用户验证,可以通过检查session等方式来判断用户是否登录
- api的访问次数限制,限制其每分钟的api调用次数,可以通过session或者ip来做限制
- 定期监测,检查日志,侦查异常的接口访问
如不懂技术可直接购买主机吧的高防IP进行防御,高防IP将会依据访问频率、User-Agent、是否重复请求等特性进行CC防护,同时拥有TB级的DDOS防御能力,可最大降低api接口被攻击带来的损失。
详细地址:https://zhujib.com/go/gaofangip