最近网站CDN总是请求超过阈值,今天闲来查看日志分析一下,一看惊了,YisouSpider爬虫请求占比87.7%
YisouSpider是什么?
Yisouspider是神马搜索引擎的网页抓取程序,隶属于UC浏览器与阿里巴巴集团2013年合资成立的移动搜索引擎。其User-Agent名称因历史原因沿用至今,主要用于识别和抓取网页内容。尽管存在市场争议,但屏蔽该程序可能导致来自UC浏览器的流量损失。 https://baike.baidu.com/item/Yisouspider/17630310
好家伙,内部消化:阿里巴巴旗下搜索引擎来刷阿里云CDN流量,搜索引擎既获内容,阿里云又有流量收益,一举两得是吧?我直接黑名单安排。
阿里云CDN
加速域名,【访问控制】-【UA黑/白名单】-【UA黑名单】添加YisouSpider即可,其它平台类似
Vercel
中间件拦截,具体思路是通过中间件拦截 User-Agent(Next.js/Node.js 项目适用)。
1. 创建中间件文件
在项目根目录下创建 middleware.js(或 middleware.ts,如果是 TypeScript 项目),并添加以下代码:
export function middleware(request) {
const userAgent = request.headers.get("user-agent") || "";
// 检测 User-Agent 是否包含 "YisouSpider"
if (userAgent.includes("YisouSpider")) {
return new Response("Forbidden", { status: 403 });
}
}
2. 配置中间件生效范围(可选)
若需限制中间件仅对特定路径生效,可在 config 对象中定义匹配规则:
export const config = {
matcher: ["/((?!api|static|favicon.ico).*)"], // 排除 API、静态文件等路径
};
3. 部署到 Vercel
提交代码并推送至 Vercel 部署,中间件会自动拦截所有匹配的请求。
4. 验证方法
使用 curl 命令模拟 YisouSpider 请求,检查是否返回 403:
curl -I -A "YisouSpider" https://your-domain.com

评论(0)
暂无评论