twikoo
twikoo copied to clipboard
被恶意攻击
网站被恶意攻击,导致免费的每日次数被使用光
我联系腾讯云,他们说加入鉴权可以解决,希望可以加入
【链接】云开发CloudBaseHTTP访问服务鉴权-开发指南-文 https://cloud.tencent.com/document/product/876/44225
- 改用SDK中的callFunction调用云函数,callFunction会自动判断域名是否在安全域名中,不在的会直接拒绝调用云函数 2.用鉴权https://docs.cloudbase.net/service/authentication.html 需要在发起访问的请求头中添加头部信息,头部信息需要通过auth.getHeader()来获取,获取好之后不带鉴权信息的请求就会被拒绝
- 通过参数实现频繁被刷,在云函数中开始增加判断信息,比如想要访问这个云函数必须带某个参数,如果不带参数进行访问,直接return回去,不执行下面的业务逻辑代码
- twikoo是通过callFunction调用云函数的,是有这个防护的。
- twikoo需要首先进行一个“匿名登录”才可以发起请求,所以这个防护也是有的。
- twikoo云函数是需要传入参数的,不传入不执行操作。
以上,这三点建议twikoo其实都已经做到了,无法继续优化。根据截图得知是数据库读取次数被刷了,这个作者目前也没有好的防护方案(类比DDoS,只要有人不断地发送请求,就总有一刻会耗尽服务器资源),有朋友可能会说IP限流,但IP限流也需要一个比如Redis的缓存数据库才能实现,Redis无法免费搭建,这违背twikoo免费的初衷。
云函数和数据库都被高请求了,没有其他防御的办法吗?
没有的话就暂时关闭博客评论功能了
唯一靠谱的就是IP限流了,但目前在云函数上做到完美的IP限流是不可行的,攻击者仍然可以刷云函数资源。不好意思。
好的,感谢回复
把数据库直接暴露在外面本来就比较容易被刷完。。。EnvID暴露在外就容易被刷,其实这就又回到Valine的困境
但毕竟免费的评论系统吗。。。这种暴力强刷本身对攻击者也是一笔支出,基本是无解的【除非还来Worker中继?】