最近接了个项目,甲方对于反爬、反抓包、反刷流量的要求令人发指,对我有限的代码保安知识真是一个巨大的挑战;
以下是一些经验总结:
一、关于反刷
本项目有大量的图片,放在云存储里,甲方怕有黑方用户不停地刷流量,造成套餐爆掉,所以特别要求,实际情况也确实发生了,仅不到100用户的时候,存储读取次数,一天就有10多万次,免费套餐被爆。采取措施如下:
1、关闭的有官方的页面收藏sitemap
{
"desc": "",
"rules": [{
"action": "disallow",
"page": "*"
}]
}
2、限制用户访问次数,比如限时超过1000次打开详情页就禁止,结果该方案被黑方破解数次,前后经历了多次方案:
将次数限制写在缓存里(删除小程序清缓存被破解);
将限时按手机时间来获取(修改手机时间被破解);
限时按服务器时间,次数写在云表里,才算解决;
二、关于反爬反抓
甲方有一些保密数据,由一些保密参数组成,通过运算得到一个价格再公布出去,一开始以为是云开发,读数据库和云函数都是保密的,结果惨遭泄密。
方案一:通过aggregate聚合,计算参数聚合出最终价格,悲伤的是,集合里的数字保存的字符串,不支持聚合的计算操作,云开发还没有任何办法批量将字符串形式的数字转成number,除非删库重建,一开始就保存成number。惨痛的教训,今后慎重,该是number的就number,别看前端可以随意,数据库里必须区分;
方案二:写一个页面,管理员输入参数,然后生成价格,应用到每一个doc里,结果数据量太大,批量修改集合所有数据的某字段值,目前用云开发完全没法实现。
最终方案:通过云函数来获取doc列表,在云函数里读取参数表,计算后生成价格,应用到每一条列表,然后再返回给小程序端;
结论:云函数是运行在微信服务器上的,还是安全的。
关于图片反爬反抓,结论:无解;
三、关于反翻译
官方的事,我们毫无办法。
设置里,什么混淆、什么代码保护等都勾上了,还是挡不住;
更多内容:
按老哥你的分析 对方课能是通过手动恶意攻击的
我感觉应该是买的IP直接攻击的
还有这个最好别暴露啊 也许人家就在看你的帖子呢
收藏了,没想到云开发这么容易被抓包,源代码是不是也很容易搞到啊