ImQi1 / 技术 / 分享几个自用的站点防盗刷的小方法
ImQi1 / 技术 / 分享几个自用的站点防盗刷的小方法

分享几个自用的站点防盗刷的小方法

最近在群里观察到有一些小伙伴被某山西的 IP 盗刷了,扣了 400 多 G 的流量。我前段时间也是因为站点监测总被该 IP 盗刷,导致我将它从我的国内云服务器上转到 Vercel 上部署了。建站这么久了,发现这些人盗刷资源都是那几个套路,在此分享一下给各位一点小小的参考。

在站点监测(status 二级域名,目前已关闭)被盗刷的几天,它频频触发用量封顶,导致站点被关停数次。除了 IP 是山西的以外,我注意到它每次盗刷的资源都是 JS、CSS 文件。从下图可以看到,index.js 文件比主体的 HTML 文件要大上几十倍,所以它盗刷大的 JS 文件比盗刷小的 HTML 文件有效。另外,我们的站点都托管于中国大陆,在我注意到的盗刷中,服务器及加速地区都是国内。所以盗刷者使用了国内 IP 就是为了更快速地访问站点的资源,然后进行盗刷。

status.qi1.website 中各文件的大小status.qi1.website 中各文件的大小.webp

再看下本站 imqi1.com 中各文件的大小。

imqi1.com 各文件的大小imqi1.com 各文件的大小.webp

只要网页内容不是特别多的,很多网页都是 CSS、JS 文件比 HTML 文件更大,所以我要分享的第一个方法就是将所有静态资源,如 CSS、JS、图片、音视频等放在云存储中,然后为云存储加防盗链,只有站点可以访问,小站的话加一个 Referer 校验就足够了。将静态资源放到云存储中最大的优点就是可以大大减轻原站的压力,防盗链也会起到一部分防盗刷的效果(防盗刷的是主站,这里不包含云存储的防盗刷)。

在这里值得一提,公益服务最怕的就是被盗刷,比如杜老师的图床。杜老师的图床不是总被攻击吗,我觉得杜老师的图床可以加一个防盗链的功能(我不是去不图床的用户,我不知道杜老师的图床有没有防盗链功能),给注册的用户加一个授权域名,只有该域名才能访问图床内的属于该用户的资源。这样做感觉可以缓解一些图床被攻击的问题。

然后呢剩下的方法就很简单了,都是比较常用的方法,在不影响正常使用的情况下,有的都可以开一下。

速率限制速率限制.webp

用量封顶策略用量封顶策略.webp

限制地域访问限制地域访问.webp

境内解析到国内CDN,境外解析到CloudFlare境内解析到国内CDN,境外解析到CloudFlare.webp

Referer防盗链Referer防盗链.webp

时间戳防盗链时间戳防盗链.webp

最简单的方法,其实就是使用长期免费且稳定的服务,比如 Vercel + CloudFlare,或者又拍云联盟的云存储,即使被盗刷,我们也不需要支付高额的费用。

想详细了解防盗刷的可以阅读下面的文章,讲的很详细。

COS&CDN防盗刷方案 - 腾讯云精选文章

评论

点击评论者的头像以回复。

    GoodBoyboy blog.goodboyboy.top 2周前

    我记得referer可以绕过的,防盗刷还是要设置合理的请求次数阈值

    obaby h4ck.org.cn 2周前

    各种 cc 一般不会直接针对资源文件,cc 的是正常的页面。所以靠 refer 很难解决刷量的问题。
    我已经放弃大厂的存储以及 cdn 了。

    揽星 lanxing.net 2周前

    杜老师图床没有防盗链,但是那个图床程序好像也没有类似域名授权防盗链的功能吧

      imqi1.com 2周前 回复 @揽星

      最好还是加一个

    刘郎 yjvc.cn 2周前

    不错 这个方法值得参考使用👍