关于云开发的反爬、反抓、反刷、反反翻译的一些思考
发布于 4 年前 作者 yan93 2895 次浏览 来自 分享

最近接了个项目,甲方对于反爬、反抓包、反刷流量的要求令人发指,对我有限的代码保安知识真是一个巨大的挑战;

以下是一些经验总结:

一、关于反刷

本项目有大量的图片,放在云存储里,甲方怕有黑方用户不停地刷流量,造成套餐爆掉,所以特别要求,实际情况也确实发生了,仅不到100用户的时候,存储读取次数,一天就有10多万次,免费套餐被爆。采取措施如下:

1、关闭的有官方的页面收藏sitemap

{
  "desc": "",
  "rules": [{
  "action": "disallow",
  "page": "*"
  }]
}

2、限制用户访问次数,比如限时超过1000次打开详情页就禁止,结果该方案被黑方破解数次,前后经历了多次方案:

将次数限制写在缓存里(删除小程序清缓存被破解);

将限时按手机时间来获取(修改手机时间被破解);

限时按服务器时间,次数写在云表里,才算解决;

二、关于反爬反抓

甲方有一些保密数据,由一些保密参数组成,通过运算得到一个价格再公布出去,一开始以为是云开发,读数据库和云函数都是保密的,结果惨遭泄密。

方案一:通过aggregate聚合,计算参数聚合出最终价格,悲伤的是,集合里的数字保存的字符串,不支持聚合的计算操作,云开发还没有任何办法批量将字符串形式的数字转成number,除非删库重建,一开始就保存成number。惨痛的教训,今后慎重,该是number的就number,别看前端可以随意,数据库里必须区分;

方案二:写一个页面,管理员输入参数,然后生成价格,应用到每一个doc里,结果数据量太大,批量修改集合所有数据的某字段值,目前用云开发完全没法实现

最终方案:通过云函数来获取doc列表,在云函数里读取参数表,计算后生成价格,应用到每一条列表,然后再返回给小程序端;

结论:云函数是运行在微信服务器上的,还是安全的。

关于图片反爬反抓,结论:无解;

三、关于反翻译

官方的事,我们毫无办法。

设置里,什么混淆、什么代码保护等都勾上了,还是挡不住;

2 回复

收藏了,没想到云开发这么容易被抓包,源代码是不是也很容易搞到啊

图片路径加密,限制用户拉取数据上限,一定程度上可缓解图片被爬被抓。

回到顶部