最近在群里观察到有一些小伙伴被某山西的 IP 盗刷了,扣了 400 多 G 的流量。我前段时间也是因为站点监测总被该 IP 盗刷,导致我将它从我的国内云服务器上转到 Vercel 上部署了。建站这么久了,发现这些人盗刷资源都是那几个套路,在此分享一下给各位一点小小的参考。
在站点监测(status 二级域名,目前已关闭)被盗刷的几天,它频频触发用量封顶,导致站点被关停数次。除了 IP 是山西的以外,我注意到它每次盗刷的资源都是 JS、CSS 文件。从下图可以看到,index.js 文件比主体的 HTML 文件要大上几十倍,所以它盗刷大的 JS 文件比盗刷小的 HTML 文件有效。另外,我们的站点都托管于中国大陆,在我注意到的盗刷中,服务器及加速地区都是国内。所以盗刷者使用了国内 IP 就是为了更快速地访问站点的资源,然后进行盗刷。
再看下本站 imqi1.com 中各文件的大小。
只要网页内容不是特别多的,很多网页都是 CSS、JS 文件比 HTML 文件更大,所以我要分享的第一个方法就是将所有静态资源,如 CSS、JS、图片、音视频等放在云存储中,然后为云存储加防盗链,只有站点可以访问,小站的话加一个 Referer 校验就足够了。将静态资源放到云存储中最大的优点就是可以大大减轻原站的压力,防盗链也会起到一部分防盗刷的效果(防盗刷的是主站,这里不包含云存储的防盗刷)。
在这里值得一提,公益服务最怕的就是被盗刷,比如杜老师的图床。杜老师的图床不是总被攻击吗,我觉得杜老师的图床可以加一个防盗链的功能(我不是去不图床的用户,我不知道杜老师的图床有没有防盗链功能),给注册的用户加一个授权域名,只有该域名才能访问图床内的属于该用户的资源。这样做感觉可以缓解一些图床被攻击的问题。
然后呢剩下的方法就很简单了,都是比较常用的方法,在不影响正常使用的情况下,有的都可以开一下。
最简单的方法,其实就是使用长期免费且稳定的服务,比如 Vercel + CloudFlare,或者又拍云联盟的云存储,即使被盗刷,我们也不需要支付高额的费用。
想详细了解防盗刷的可以阅读下面的文章,讲的很详细。
我记得referer可以绕过的,防盗刷还是要设置合理的请求次数阈值
各种 cc 一般不会直接针对资源文件,cc 的是正常的页面。所以靠 refer 很难解决刷量的问题。
我已经放弃大厂的存储以及 cdn 了。
杜老师图床没有防盗链,但是那个图床程序好像也没有类似域名授权防盗链的功能吧
最好还是加一个
不错 这个方法值得参考使用👍