关于 rate-limit
rate-limit 是用于设计和验证 Web 应用 Upstash 限流策略的技能。内容涵盖可信客户端识别、按路由设限、故障时行为、响应头和确定性测试。
主要功能
- 01检测运行时、路由、认证和现有限流
- 02按路由类别与客户端身份制定策略
- 03指导可信代理与身份标识处理
- 04规划 Upstash 超时和故障行为
- 05规定 429 响应头与验证测试
适用场景
- 01为认证与匿名流量设计限流
- 02保护高成本生成端点
- 03测试伪造转发头及服务故障处理
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tushaarmehtaa/ tushar-skills --skill rate-limit安装后在 Claude Code 中输入/rate-limit确认已加载。
详细介绍
使用 Upstash 进行速率限制
速率限制是滥用防护和成本控制的一层。接入中间件之前,先设计好策略。
工作流
- 检查 Next.js/运行时/版本、部署的代理/CDN、身份验证/API 密钥模型、已安装的 Upstash 版本、受保护的路由、操作成本、现有配额,以及中间件/代理是否已处理请求。
- 为每类路由定义策略表:标识符、算法/时间窗口/突发限制、成本权重、用户层级、响应行为和存储故障时的行为。只有在无法推断威胁/成本权衡时才提问。
- 优先使用经过身份验证的用户、API 密钥或租户+用户标识符。仅对匿名流量使用 IP,且只能使用部署环境提供的可信来源。绝不信任来自公共互联网的任意
x-forwarded-for;配置可信代理层级/平台标头。不要将未知客户端都归为127.0.0.1。 - 按环境和路由/策略设置命名空间。除非有意使用不同的密钥实施分层限制,否则不要对同一个请求同时应用全局中间件和单路由限流器。
- 配置明确的 Upstash 超时和日志/指标。按端点选择故障时的行为:
- 低风险的可用性路径可选择故障时放行,并降低遥测级别;
- 身份验证、高成本生成或易受滥用影响的路径可使用本地紧急限流、排队、额度预留,或故障时拒绝并返回明确的临时响应。
- 返回
429,并带有非负的Retry-After和一致的速率限制标头。在适用时,也为成功响应添加标头。故障放行降级期间,不要发送具有误导性的零限制值。 - 对于加权任务,根据服务器计算的批次/操作成本消耗令牌。必要时,将速率限制与请求体大小限制、并发控制、幂等性、预算/额度以及提供商配额结合使用。
- 如果 SDK 提供待处理的 Promise,请使用运行时的
waitUntil机制,确保分析数据同步等异步工作继续执行。
验证
尽可能使用带有隔离密钥前缀以及可控时钟/时间窗口的确定性测试。测试允许/阻止/重置行为、路由隔离、已验证身份和匿名密钥、伪造的转发标头、付费/免费策略、并发、加权请求、存储超时/故障行为,以及重复中间件的规避情况。运行仓库的 lint/类型/测试/构建流程;仅在启用 Upstash 分析功能时检查相关数据。
输出
报告策略表、标识符信任模型、已更改的文件/环境变量名称、故障时的行为、响应标头、分层控制、自动化测试证据,以及尚待完成的 Upstash/部署配置。
评论
支持 Markdown