vone
2020-08-05 14:39:23 +08:00
同 .NET Core,现在做 .NET 的同行好像越来越少了。
我可以从做爬虫的角度,给你几个改进方向:
1 、取消 clientId , clientKey 获取 token 的逻辑,因为没有 clientId 、clientKey 会让分析接口的人更怀疑人生;
2 、对获取 token 相关接口改为参数改为密文( RSA+其他的魔改操作),加密函数一定要混淆,且不能完全使用某种公开算法;
3 、对请求参数增加时间戳和签名;
4 、下发 token 时检测浏览器常见全局变量和之前预留的监测点数据(尽量防止 selenium/puppeteer 这种无头浏览器和程序的模拟请求),这一点可以参考淘宝或者其他大厂的反爬策略。
5 、未登录下发的 token 使用增加频率限制,高频使用时墙掉对应 IP 。
6 、随机抽取访问频率偏高但未达到 5 的 token 让其登录或输入验证码。如果对应 IP 未登录或输入验证码,而是转而获取新 Token,就可以墙掉对应 IP 。
4 、5 、6 需要在服务端进行校验,检测内容和接口可以偶尔进行升级。