dingdong-grabber icon indicating copy to clipboard operation
dingdong-grabber copied to clipboard

建议签名算法打包成so调用或者使用远程调用的方式

Open windherd opened this issue 2 years ago • 7 comments

目前这样直接会不会太刑了。如果有不发分子,拿到签名发起dos攻击,叮咚是不是就炸了。大家都没菜吃了。作者也可能会收到🍵的邀请。 我的想法哈: 1.理解js算法逻辑翻译成c打包进so ,go调用so. 此方式成本低效率更高;依然存在较小的安全隐患. 2.架中间服务器,此服务器只会根据请求参数,返回三个参数,拿到参数后分别拼在指定位置处,再次向叮咚发起真实请求。此方式更安全;成本高,抢菜成功率会降低. 我们都是单纯的搞技术和搞菜的。希望不要惹来不必要的麻烦。希望作者不太忙的时候可以考虑下🐶

Sent from PPHub

windherd avatar May 04 '22 17:05 windherd

@windherd 谢谢,觉得你的建议挺合理的。综合考虑下来,倾向方案一。

ahutsunshine avatar May 05 '22 02:05 ahutsunshine

@windherd 谢谢,觉得的建议挺合理的。综合考虑下来,倾向方案一。

我认为这样意义不大,这样只是相当于加密代码,但本地使用会导致算法对普通用户的不可控。如果需要,我这边也可以提供一下我服务器的支持

iiwen avatar May 05 '22 07:05 iiwen

放服务器的话,估计得考虑 6 点整是否能扛住的 ddos 了,前提是确实有很多用户的情况下

a180285 avatar May 05 '22 07:05 a180285

其实目前来说,本地感觉也行,因为代码其实已经公开过了,所以如果别有用途的人,应该已经拿到了。

放服务器的话,感觉就是对于后续算法有更新的情况会比较好吧,对于现在的情况,可能意义也不算太大

a180285 avatar May 05 '22 07:05 a180285

@iiwen i我相对倾向于 @a180285 的意见,开源项目不该依赖于第三方未认证的服务,因为你无法保证第三方的安全(比如被攻击下发或主动误操作下发不可控的恶意命令)和服务可靠性稳定性,这很容易导致为了解决一个问题而带来一堆问题,也增加了维护成本。

ahutsunshine avatar May 05 '22 08:05 ahutsunshine

@iiwen i我相对倾向于 @a180285 的意见,开源项目不该依赖于第三方未认证的服务,因为你无法保证第三方的安全(比如被攻击下发或主动误操作下发不可控的恶意命令)和服务可靠性稳定性,这很容易导致为了解决一个问题而带来一堆问题,也增加了维护成本。

好的。如果愿意放服务器,提供个思路,算法放本地,运行启动时获取密钥

iiwen avatar May 05 '22 08:05 iiwen

如果不想用Go实现签名算法的话,可以直接把文件作为字符串编译至可执行文件,签名文件git ignore。网络加载的话可以控制失效也是很不错的,贡献大家的同时也要保护好自己。代理服务器的话个人觉得不大可行,个人服务器安全性不说,就看并发能撑得住么

Curl-Li avatar May 05 '22 09:05 Curl-Li