不凡博客

版权声明

未经允许,请勿转载本博客的文章、图片和视频,谢谢!
首页 > 建站 > 正文

腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

建站 | 2024年05月08日10:51:45

腾讯云高性价比国内轻量服务器,2核2G4M,99元/年,新老用户同享,续费同价

前言

  网站使用了腾讯云EdgeOne(腾讯云边缘安全加速平台,简称:腾讯云EO),网站的静态资源文件(例如图片文件、模板JS和CSS)被盗刷流量,可通过腾讯云EO的边缘函数配置防盗链,保护网站内容、静态文件,防盗刷流量。

点此前往腾讯云EdgeOne边缘安全加速平台 首购一年55元

腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

使用方法

一、在EO控制台找到“函数管理”,点击“新建函数”。

腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

二、点击“防盗链”,再点击“下一步”。

腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

三、随便输入函数名称,点击“创建并部署”,弹出小窗口点击“暂不需要”。

腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

四、在右上角点击“编辑代码”。

腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

五、复制以下函数代码。

const fileType = ['jpg', 'gif', 'png', 'webp', 'js', 'css', 'ico', 'woff', 'woff2'];
const host = ['https://修改成你的主域名( 不用加www. )'];

async function handleEvent(event) {
 const { request } = event;

 const urlInfo = new URL(request.url);

 // 不需要校验的文件类型,直接 passthouth
 const extMatch = urlInfo.pathname.match(/\.([^.]+)$/);
 const ext = extMatch ? extMatch[1] : '';
 if (!ext || !fileType.includes(ext)) {
  return;
 }

 const referer = request.headers.get('Referer');
 const blockRes = new Response(null, { status: 404 });

 // 无 Referer,响应 404
 if (!referer) {
  return event.respondWith(blockRes);
 }
 
 // 命中黑名单,响应 404
 if (host.some(domain => referer.includes(domain))) {
  console.log('referer block')
  return event.respondWith(blockRes);
 }

 // 校验通过,直接 passthrough
 return;
}

addEventListener('fetch', event => {
 event.passThroughOnException();
 handleEvent(event);
});

六、删除原函数代码,再粘贴代码,代码的第一行,修改或调整需要防盗链保护的文件后缀名称,代码第二行修改成你的主域名(需要添加https://,不用添加www. ,见下图 ),点击右上角的“保存并部署”。

腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

七、返回到“函数管理”的页面,点击“新增触发规则”。

腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

八、按照下图步骤配置触发条件,匹配类型选择“文件后缀”,右边的值填写要保护的文件后缀,点击下面的“+ And”。

腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

九、按照下图步骤依次选择匹配类型、运算符和网站域名,最后点击“确定”保存触发规则。

腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

十、打开网站随便选个图片复制图片链接,在浏览器“无痕模式”直接访问图片链接,页面显示404错误,边缘函数和触发规则配置成功。

腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

使用注意事项

1、边缘函数的防盗链功能对主域名无效,如果你的网站域名不带www.,建议全加上www.,可以使用301重定向,主域名跳转到www.二级域名。

腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

2、要增加新的文件后缀,先修改函数代码,增加新的文件后缀(例如:mp4)。

腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

2.1、同样在“触发规则”增加新的文件后缀。

腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

The End
淘宝购物先领券,更省钱

本文标题:腾讯云EdgeOne边缘函数和触发规则配置防盗链的方法 保护网站内容、防盗刷流量

本文链接:https://www.bufanz.com/post/76.html

版权声明:本文章是 不凡博客 的原创文章,未经允许请勿转载本文章!