【插件】qingBotBlock - AI 抓取拦截

应用开发者 清歌 2天前 175

各位审核员好,本人申请入驻 Z-Blog 应用中心开发者,以下是我的作品介绍,请审核。

一、开发者信息

 个人信息

二、作品简介

作品名称:清歌AI蜘蛛屏蔽

  • 应用 ID / 目录名qingBotBlock
  • 当前版本 1.9.2

介绍:按 User-Agent 在模板渲染之前拦截各类 AI 蜘蛛,降低站点的无效请求与服务器负载。

随着各家的 AI 训练与检索蜘蛛大量抓取,站点上来自 GPTBot、ClaudeBot、Bytespider 这类 UA 的请求越来越多。 AI蜘蛛本身是为了让ai可以更好的回答用户的问题,却持续消耗带宽、CPU 与数据库资源,在流量不大的服务器上表现尤其明显。 本插件在请求最开始(模板渲染之前)完成判定,命中即直接返回,不查询数据库、不加载主题模板, 对正常访客与搜索引擎收录几乎没有影响。

主要功能:

  1. 内置 31 条 AI 蜘蛛 UA 规则,覆盖 GPTBot、ChatGPT-User、OAI-SearchBot、Google-Extended、 Google-CloudVertexBot、ClaudeBot、Claude-Web、Claude-SearchBot、anthropic-ai、cohere-ai、MistralAI-User、 Bytespider、PetalBot、Applebot-Extended、CCBot、Meta-ExternalAgent、Meta-ExternalFetcher、PerplexityBot、 Perplexity-User、YouBot、Amazonbot、Diffbot、DataForSeoBot、ImagesiftBot、AI2Bot、Timpibot、Webzio-Extended、 omgilibot、FacebookBot、facebookexternalhit、img2dataset,可在后台自由增删
  1. 白名单独立维护,内置 Googlebot、Bingbot、Baiduspider、YisouSpider、Sogou web spider、Sogou Orion spider、 360Spider、DuckDuckBot、YandexBot 等主流搜索引擎;白名单优先级高于拦截规则,命中即放行,不影响正常收录
  1. 响应状态码与响应内容分开设置,互不干扰 · 状态码:403 Forbidden(规范)/ 200 OK(对蜘蛛更隐蔽) · 内容:内置拦截页 / 空白页 / 自定义模板
  1. 自定义拦截页支持变量替换:{code} 状态码、{status} 状态短语、{site} 站点地址、{url} 请求网址、 {ip} 访客 IP、{ua} 浏览器标识、{time} 当前时间
  1. 可选择拦截完全不发送 User-Agent 的请求(默认关闭,避免误伤)
  1. 拦截日志:记录时间、IP、命中的规则、完整 User-Agent,后台展示今日与累计数量,可一键清空
  1. 后台「预览效果」直接展示蜘蛛实际收到的响应头与页面内容,保存前即可确认效果
  1. 后台单页双标签(拦截设置 / 拦截日志),带防护状态概览与统计
  1. 停用插件时可选择一并清除配置与拦截日志,卸载无残留
  1. 全部静态资源本地引用,无任何外站资源、无第三方依赖、无加密与混淆代码

技术要点:

· 只挂载 6 个前台 Begin 钩子(Index / ViewPost / ViewList / ViewAuto / Feed / Search), 在模板渲染前完成判定并直接返回,不进入主题渲染流程 · UA 匹配使用 stripos 子串匹配(忽略大小写),未使用正则,避免回溯与误匹配 · 静态资源 URL 带文件修改时间作为版本号,更新后自动失效浏览器缓存

三、效果截图





四、代码仓库

https://github.com/ningqingge/qingai

五、版本记录(开发过程节选)

· 1.9.2    增加插件图标修复已知问题

· 1.9.1 名称统一为「清歌AI蜘蛛屏蔽」(插件名 / 后台菜单 / 页面标题 / 概览标题)

· 1.9.0 日志页新增分页与每页条数设置(50 / 100 / 200 / 500),后台菜单名加上品牌前缀「清歌」

· 1.8.0 按审核意见更改名称:插件名称、后台菜单与页面标题中的「爬虫」统一为「蜘蛛」,后台概览标题加品牌前缀

· 1.7.1 按审核意见调整描述文案,改为客观陈述,并补充适用范围与限制说明

· 1.7.0 按开发规范重写前端脚本(去除 var 关键字与内联事件,改为对 DOM 赋值),加固后台输出转义

· 1.6.0 保存时的提交内容改为转义传输,规避网站防火墙对 HTML / 换行的误拦截

· 1.5.0 三种内容类型改为互斥面板,内置拦截页不可编辑;变量标签补充中文说明

· 1.4.0 响应设置拆分为「状态码 / 响应内容」两个独立维度,消除设置项重叠

· 1.3.0 状态码改为 {code} 占位符;预览窗显示真实 HTTP 响应头

· 1.2.0 新增自定义拦截页;修复宽屏下内容未居中

· 1.1.0 修复后台样式未加载;重做后台界面

· 1.0.0 首个版本:UA 拦截、白名单、403/200 响应、拦截日志

首个版本:UA 拦截、白名单、403/200 响应、拦截日志

六、申请说明

  • 已对照《注意事项速查表》完成自查(安全漏洞、外站资源、加密规范等)
  • 已按平台要求完成实名认证相关绑定(手机号、微信)
  • 后续将根据审核员反馈逐条修改,并在本帖更新时附 Changelog

请审核,谢谢!



最后于 22小时前 被清歌编辑 ,原因: 更新插件
返回
写文章