一个简单的粘贴板共享站 | AI建站实操演示与DDoS核心问题解决测试

介绍

来试试「咻一下」——一个公开、轻量的剪贴板共享板。

复制一段想分享的文字,点击读取并投递,它会带着你设置的昵称与粗粒度城市信息,漂流到公共内容板上。它可以用来分享灵感、代码片段、学习笔记、今日碎碎念,也可以看看其他人此刻留下了什么。

为了让社区内容保持友好,本站不支持链接投递,并提供本地敏感词过滤、隐私信息识别、频率限制与 AI 内容审核。真实 IP 不会公开或明文存储;位置仅展示到城市和国家。昵称留空时,系统会自动生成一个随机名称。

地址:clipboard-ai-demo.pages.dev

欢迎来咻一下,留下属于你的文字片段。

技术细节

项目采用“Cloudflare Pages 静态前端 + 自建服务器 API”的拆分架构。HTML、CSS、JavaScript 和图标等静态资源托管在 Cloudflare Pages;动态 /api/* 请求则发送至自建服务器,由 OpenResty 反向代理到 Docker 容器内的 Node.js 服务和 PostgreSQL。这样可以避免页面访问直接消耗 Cloudflare Function 配额,并将高成本的数据库与 AI 请求限制在源站侧。

前端不使用轮询。共享板仅在首次进入、用户手动刷新或提交后按需请求;点击刷新后会进入 60 秒冷却。已读取的共享板内容会缓存到浏览器本地,网络异常时优先展示缓存,减少重复接口和数据库读取。在线人数复用共享板读取请求,按最近 5 分钟内的活跃会话统计,不额外创建独立心跳接口。

提交链路包含多层校验:

  • 前端为请求生成随机 CSRF Token,后端同时校验来源、请求头与正文。
  • 提交请求使用时间桶、内容哈希、一次性挑战记录与 PoW,降低重放和简单脚本刷提交的效率。
  • OpenResty 限制连接数和单来源请求频率,应用层与数据库进一步限制同一来源在固定时间窗口内的提交次数。
  • 真实 IP 不以明文形式保存,对外只展示 Cloudflare 提供的国家、城市级粗粒度位置。

内容审核分为本地规则与 AI 审核两层。本地规则优先拦截网址、域名、IP 地址形式的链接、常见敏感词、隐私凭证格式、手机号、身份证号和疑似刷屏内容。命中本地规则后会立即拒绝,不查询数据库,也不会调用 AI 模型。

未命中本地规则的内容才会发送到 OpenRouter 审核。模型输出被限制为固定 JSON;用户输入以不可信 JSON 字段传递,系统提示词明确禁止执行、复述或接受文本中的任何指令,从而降低提示词注入、伪造审核结果和套取系统提示的风险。

意义

传统 CMS 网站在面对 DDoS 或 CC 攻击时,难点不只是封禁某个 IP,而是让清洗、控流和业务服务在持续攻击下仍保持可用。简单封禁或黑洞路由虽然见效快,却容易误伤正常访客;免费或低成本防护服务的核心矛盾,也正是在攻击强度、识别精度和成本之间取舍。

本项目尝试通过“静态前端 + 独立动态 API”的方式缩小源站暴露面。大部分页面和静态资源由 CDN 边缘承接,公开内容使用短时缓存;源站只处理必要的读取、提交、审核和数据库操作。即使遭遇大规模 HTTP Flood,多数请求也不会直接消耗源站带宽、数据库连接或 AI 审核额度。

JavaScript、CSRF、PoW 和频率限制并不等于真正的人机识别,但可以作为第一层成本过滤:它们能够淘汰不执行 JavaScript 的低端 HTTP Flood、部分简单脚本和配置不完整的自动化客户端,并降低无效请求进入数据库与 AI 审核链路的比例。

面对能够执行 JavaScript、维持 Cookie、模拟真实操作的 Real Browser 自动化攻击,单纯的 JS 质询并不足够。后续防御重点应放在分层降载:边缘挑战与速率规则减少进入源站的流量;OpenResty 提供连接限制、全局限流和反向代理保护;应用层控制提交频率与单次资源消耗;数据库与 AI 服务通过缓存、预算、队列或熔断避免被拖垮。

负载均衡只是扩容手段,而不是防御本身。真正的目标是让攻击流量尽可能早地被缓存、挑战或限流拦截,使有限的动态计算资源优先服务正常用户。

发送不了,发什么都过不了审 :thinking:

你发了什么?

一句名言吧然后过不了 于是发了666也过不了