AI Text Humanizer — 项目总览

最后更新:2026-04-03

基本信息

  • 域名:https://miaomiao.uk
  • 技术栈:Next.js 15 + Cloudflare Pages + D1 (SQLite)
  • 项目路径~/projects/ai-humanizer/
  • 部署npx @cloudflare/next-on-pages && npx wrangler pages deploy .vercel/output/static --project-name=ai-humanizer --branch=main
  • CF Pages 项目:ai-humanizer
  • D1 数据库:ai-humanizer-db(ID: 8ed3fde1-ce90-4a5c-aa81-ea8bf32bbb16
  • CF Token~/projects/ai-humanizer/config/cloudflare-token.json
  • LS 配置~/projects/ai-humanizer/config/lemonsqueezy.json

支付(LemonSqueezy)

  • 当前模式:Test Mode
  • Store ID:331780
  • Variant IDs:basic=1469206, pro=1469239, lifetime=1469240
  • Webhook Secretls_whsec_aihumanizer_2026_test
  • LS 配置存储:D1 app_config 表(不再依赖环境变量)
  • 价格(前端):Basic 15/月, Lifetime $49
  • Credits:Basic 20,000词, Pro 100,000词, Lifetime 无限
  • 测试卡:4242 4242 4242 4242

管理后台

  • 地址https://miaomiao.uk/e6840a571552a7e076732a85
  • 用户名xdx54321
  • 密码mm5822655
  • 功能
    • Users Tab:用户列表、搜索、按计划筛选、积分调整(弹窗加减)、统计卡片(总数/付费/注册趋势)、Top 10 用量排行
    • Feedback Tab:反馈列表、按类型筛选、长文本展开
    • Logs Tab:API 日志、按路径/级别筛选、长消息展开
  • 用户管理 API/api/admin/users(GET 列表,PATCH 调整积分)
  • 反馈 API/api/x7f3b2e9c4d1a
  • 日志 API/api/logs

数据库结构

users

  • 主键:email(TEXT)
  • 字段:name, image, plan, usage_count, credits, created_at, updated_at
  • 注册赠送 3,000 词

app_config(LS 配置)

  • key/value 结构,1 分钟内存缓存

request_logs(API 日志)

  • 只记录关键路径:checkout, webhook, humanize, dashboard, auth

feedback(用户反馈)

  • 登录用户才能提交,自动记录 email

humanization_history / daily_usage

  • 外键改为 user_email(之前是 user_id / Google sub)

认证

  • Google OAuth(NextAuth)
  • JWT strategy,cookie: __Secure-authjs.session-token
  • runtime: edge
  • 用户主键用 email(不用 Google sub,因为 sub 不稳定)

环境变量(CF Pages)

  • GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET
  • NEXTAUTH_SECRET
  • NEXTAUTH_URL=https://miaomiao.uk
  • LOG_ADMIN_KEY=mm5822655

已知待办

  • [ ] 确认 LS Dashboard 产品价格(15/9.99/49)
  • [ ] 确认 Lifetime variant 是 one-time 还是 yearly
  • [ ] 订阅升级补差价功能(LS 不原生支持,需自己拼)
  • [ ] Test Mode → Live Mode 切换
  • [ ] Product Hunt 发布
  • [ ] 接入监控(Sentry 或类似工具)
  • [ ] humanization_history 数据保留策略(大流量时需清理)

安全加固(2026-04-03)

  • Admin API 删除硬编码密码,仅 env var 校验
  • 积分扣除失败打印 [CREDIT_ERROR] 日志,不再静默吞错
  • 错误信息不暴露用户积分余额
  • Checkout API 降级保护(已购 Pro 不能重复买 Basic)
  • Webhook 新增 subscription_updated 事件(升降级处理)
  • public/_headers 安全头(X-Frame-Options / X-Content-Type-Options / Referrer-Policy / Permissions-Policy / X-XSS-Protection)
  • robots.txt + sitemap.xml
  • error.tsx + not-found.tsx 错误边界
  • 成功页显示套餐/积分信息

更新日志

2026-04-03 安全审计与修复

喵喵做了全量代码审计,发现并修复 12 个问题,已全部部署上线:

安全修复:

  • Admin API 硬编码密码 → 仅 env var 校验
  • 积分扣除失败从静默吞错改为打印日志
  • humanize 错误信息不再暴露用户积分余额
  • checkout API 加降级保护

功能补全:

  • webhook 新增 subscription_updated 事件
  • success 页面改为显示套餐/积分信息
  • 新增 error.tsx(500)和 not-found.tsx(404)
  • robots.txt + sitemap.xml(SEO 基础)

安全加固:

  • public/_headers 加 5 个安全响应头
  • CORS / Turnstile 逻辑补充注释说明安全边界

测试结果: 全部通过(admin 旧密码拒 401、新密码 200、robots/sitemap/headers/404/401/webhook 全部符合预期)