如何防止网站CDN流量被刷?防御措施详细教程

概述简介

最近有很多站长在群内抱怨网站流量被刷导致欠费,有些甚至需要补交近万元的欠费。所以做好防御还是有必要的今天我将向大家介绍几种防止流量被刷的方法。

截图预览

20240702033243898-image

20240702033254758-image

第一种方法:

添加防盗链,为所有缓存文件添加防盗链,禁止非自己网站调用,注意要开启禁止空HTTP_REFERER请求(就是直接访问文件),这样可以防止别人直接请求你缓存在CDN上的文件。

这里都以EdgeOne为例,打开控制台,在侧边栏找到函数管理/新建函数,将下面信息替换成自己的保存里面就行了。

async function handleRequest(request) {
  const referer = request.headers.get('Referer');
  if (!referer) {
    return new Response(null, { status: 403 });
  }
  const urlInfo = new URL(request.url);
  const refererRegExp = new RegExp(`^https?://${urlInfo.hostname}/t-[0-9a-z]{10}/.*`);
  if (!refererRegExp.test(referer)) {
    return new Response(null, { status: 403 });
  }
  return fetch(request);
}
addEventListener('fetch', event => {
  event.passThroughOnException();
  event.respondWith(handleRequest(event.request));
});

第二种方法:

设置请求限速,自定义请求频率,拦截异常高频率的访问请求,并封禁短时间内高请求频率的IP。

在侧边栏选择:安全防护/Web防护选择防护域名/速率限制添加规则。

匹配字段 逻辑符号 匹配内容
请求域名(Host) 等于 自己的域名
请求方式 请求(客户端到 EdgeOne) 客户端 IP
10 秒 超过 50次
处置方式 拦截 120秒

第三种方法:

使用量封顶策略,我感觉这个效果是最好的,限制短时间内不超过设定阈值就能正常访问,超过阈值直接停用(可手动开启),这个可以有效方式流量被刷。

在侧边栏选择:EdgeOne 服务/用量策略/添加策略

编辑封顶策略  
生效范围 子域名/全部子域名
统计周期 5 分钟
封顶配置 七层流量 70MB
超出阈值 停用服务

设置完毕后打开账号中心/消息订阅/接收人管理,添加自己的联系方式,当到限制的阈值可以收到通知。

© 版权声明
THE END
点赞24 分享
评论 共2条

请登录后发表评论