StudyPulse.CloudAI / 0.7-beta
Identity & Security

多层级安全防御
与访问控制模型。

StudyPulse Cloud AI 从密钥注入、D1 存储、认证挑战到会话隔离,在每个边界执行严格的最小权限与防滥用约束。

01 / 分层防御

把密钥、状态、请求和后台分开保护。

安全设计不是一个单独的中间件,而是从 Secret 注入、D1 写入、认证挑战到响应头的一组互补约束。

  • 01
    Key / Session hash-only 客户端 API Key 与 Session Token 原文不入库;MiniMax、Resend、管理员 Token 只通过 Cloudflare Secrets 注入运行时。
  • 02
    Constant-time comparison Token 与 CSRF 值使用常量时间比较,降低时序攻击风险;D1 查询全部使用 prepared statements。
  • 03
    Cloudflare Access + CSRF 后台通过 Cf-Access-Jwt-Assertion 或降级 ADMIN_API_TOKEN 鉴权;状态变更接口还需 SameSite=Strict Cookie 与 X-CSRF-Token。
  • 04
    Abuse controls 验证码 5 次错误锁定、10 分钟过期、1 分钟发送间隔;邮箱黑名单、登录限流和统一错误信息减少滥用与信息泄露。
  • 05
    Security response headers 全站启用 X-Content-Type-Options、X-Frame-Options: DENY、Referrer-Policy、Permissions-Policy 与 X-XSS-Protection。
02 / 计量语义

精确额度计量与调用失败保护机制。

API Key 按请求次数或 Token 计量;用户会员按 usage_records 分日请求与月 Token。鉴权失败、上游失败和 Worker 错误不扣额度。

层级 / 维度 (Layer) 计量数据 (Metric) 结算与保护规则 (Rule & Protection)
API Key request_count / token_count 成功调用后自增;request_limit 可按 count 或 tokens 模式设置。
Membership usage_records free 100 次/日 + 1M tokens/月;plus 1000 次/日 + 10M tokens/月;pro 不限。
Admin role = admin 跳过用户会员额度限制,但仍完整保留请求日志与审计语义。
03 / 统一入口

统一身份中心的第一屏。

登录页把密码登录、邮箱验证码和 GitHub OAuth 放在同一个入口;后续 Session、会员和用量上下文都从这里开始建立。

StudyPulse authentication login page
auth.chenkai.space 一个入口承载多种认证方式,并把登录后的用户带回 StudyPulse App 与云端资源。