对于信息发布平台,最重要的资产就是信息,如果信息数据被爬虫搞完了那将损失惨重,所以接口要做好反爬措施。
user-agent
Bytespider
简易过滤,表明态度。
限制IP访问频率
这种方式IP不能永久封禁,只能封禁一段时间。
可通过购买动态IP服务或者代理ip池来破解。
透明代理-无效,普匿代理-无效,高匿代理-有效
接口签名
接口参数增加一个sign字段,客户端在js文件中保存key,然后将算法设计的繁琐一些,每次动态生成sign,虽然会被破解但是还是有一定的作用。
接口加密
将接口参数加密,适用于APP,小程序,不过现在小程序也能被反编译了。
信息过滤
确保不暴露用户密码手机号身份证等本不需要展示的信息。
验证码
建立危险用户行为模型,在危险行为被识别出来后,增强验证级别。如在短信验证码频繁调取时强制要求补充验证图形验证码;或者用户提交一些非法参数时增加行为验证。
接入打码API破解,例如云打码。
要求登录
验证码,手机号,微信号授权等,违规直接封号,增加爬虫成本。
设置账号登陆时长,过期重新登录。
模拟登录;多申请几个号。
动态页面
有一些网站的数据和图片是用JS代码动态生成的,那么服务器端,就会通过判断该用户是否访问了这些资源来判断是否爬虫。
使用 selenium,appium 破解。
联合作用
上面的这些方面可以联合作用,比如,接口签名没通过基本可以确定是爬虫,如果发现是爬虫的话直接将IP加入黑名单永不解冻。