Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
private-landing — 🔐 通过正确构建来学习认证。一个可扩展、符合标准的参考实现,适用于 Cloudflare Workers,使用 Hono、Turso、PBKDF2 和 JWT 双令牌会话。 | Kitploit
工具/GitHubGitHub/vhscom/private-landing
身份验证与授权身份管理Web安全密码学云安全DevSecOps身份与访问管理 (IAM)身份验证学习与教育API 安全实验室与实践
GitHub
8033个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
vhscom/private-landing

private-landing

🔐 通过正确构建来学习认证。一个可扩展、符合标准的参考实现,适用于 Cloudflare Workers,使用 Hono、Turso、PBKDF2 和 JWT 双令牌会话。

查看仓库网站

Private Landing

通过正确构建来学习身份验证。

License TypeScript Cloudflare Workers
CI codecov

在线演示 · 威胁模型 · 认证流程 · ADRs

演示说明: 登录端点受自适应 PoW 挑战保护——重复失败会返回更高的工作量证明难度。基于缓存的速度限制已实现并测试,但当前未在在线演示中启用;翻转 app.ts 中的 createCacheClient(位于 apps/cloudflare-workers/src/app.ts)可激活它。


一个从零开始为 Cloudflare Workers 构建的认证参考实现——PBKDF2 密码哈希、JWT 双令牌会话、常量时间比较、滑动过期和可移除的可观测性插件——全部通过 Hono、Turso(可选 Valkey/Redis 缓存)和严格的 TypeScript 集成。

每个设计选择都追溯到一个标准:NIST SP 800-63B 用于凭证,NIST SP 800-132 用于密钥派生,OWASP ASVS 用于验证,以及 RFC 8725 用于 JWT 最佳实践。

正在发布产品? 请改用 Better Auth——它自带 OAuth、通行密钥、多因素认证、速率限制等功能,并拥有活跃的插件生态。此仓库旨在教你认证如何工作,而非替代生产级库。

为何创建此仓库

  • 阅读代码,而不仅仅是文档——每个安全属性(时间恒定拒绝、会话关联撤销、算法固定)都已实现并测试,而不仅仅是描述
  • 贯穿始终的 NIST + OWASP + RFC 参考——理解每个决策背后的原因
  • 超过 630 个测试,包括攻击向量套件(令牌篡改、算法混淆、Unicode 边界情况)
  • 可观测性插件——结构化审计日志、自适应 PoW 挑战、代理认证的操作 API 和 WebSocket 事件流——通过 Hono 中间件接入,无需修改核心认证
  • 为边缘而生——在 Cloudflare Workers 上运行,使用 Web Crypto API,无 Node.js 依赖
  • Apache-2.0——可自由复刻、教学、学习

内含内容

生产环境下一步

本项目有意省略了超出其教学范围的功能。如果你正在将此代码扩展为生产用途(或评估生产认证系统所需),下表按优先级整理了缺口。

对于大多数实际项目,请使用 Better Auth 而非自行构建。

关键——在提供真实用户之前添加

功能为何重要标准 / 参考
泄露密码检查防止使用已知在公开泄露数据中的密码NIST SP 800-63B §5.1.1.2、HIBP API

高优先级——生产可靠性

中等优先级——随产品扩展

高级——企业 / 高安全

所有这些都是选择 Better Auth 的绝佳理由。

仓库结构

root@kitploit:~
.
├── apps/
│   └── cloudflare-workers/    # 示例 Worker + Hono 路由
├── packages/
│   ├── core/                  # 认证服务、中间件、加密工具
│   ├── infrastructure/        # 数据库客户端 + 工具
│   ├── observability/         # 事件发射、自适应挑战、操作 API(可移除插件)
│   ├── schemas/               # Zod schemas
│   └── types/                 # 共享 TypeScript 类型
├── tools/
│   └── cli/                   # plctl — 用于 /ops 接口的 Go TUI
└── docs/
    ├── adr/                   # 架构决策记录
    └── audits/                # 安全审计

快速开始

root@kitploit:~
git clone https://github.com/vhscom/private-landing.git
cd private-landing
bun install
bun run dev

就是这样——无需账户、无需 API 密钥、无需 .env 文件。开发服务器以本地 SQLite 数据库和生成的密钥启动。打开 http://localhost:8788 注册账户并探索认证流程。

有 Turso 账户? 在 apps/cloudflare-workers/ 中放置一个 .dev.vars 文件(参见 .dev.vars.example),然后 bun run dev 将自动使用 wrangler 连接你的远程数据库。使用 bun run dev:local 可强制使用本地服务器。

参见 CONTRIBUTING.md 获取测试和部署说明。

与 AI 一起使用

此仓库包含一个 CLAUDE.md 文件,为 AI 助手提供上下文。使用 Claude Code、Cursor 或类似 AI 驱动的开发工具时:

  1. AI 将自动读取 CLAUDE.md 以获取项目上下文
  2. docs/adr/ 中的架构决策记录解释了设计选择
  3. docs/audits/ 中的安全审计记录了安全态势
  4. 测试展示了预期行为和边界情况

代码库设计为 AI 可读,具有清晰的模块边界、全面的类型和描述性命名。

许可证

Apache-2.0

下载工具
层功能
密码存储使用 128 位盐值的 PBKDF2-SHA384、完整性摘要、版本追踪(password-service.ts)
会话管理服务端会话,带设备追踪、滑动过期、每个用户最多 3 个会话的强制限制;通过 Valkey/Redis 的可选缓存会话(session-service.ts、cached-session-service.ts)
密码更改当前密码重新验证、完整 PBKDF2 重新哈希、所有会话原子撤销(account-service.ts、ADR-004)
JWT 双令牌模式15 分钟访问令牌 + 7 天刷新令牌,与会话关联以实现撤销(token-service.ts)
认证中间件自动刷新流程、显式 HS256 固定、typ 声明验证(require-auth.ts)
安全 CookieHttpOnly、Secure、SameSite=Strict、Path=/(cookie.ts)
安全头部HSTS、CSP、CORP/COEP/COOP、Permissions-Policy、指纹移除(security.ts)
输入验证使用 Zod schema,采用符合 NIST 的密码策略(仅长度限制,无复杂度规则)
速率限制固定窗口限流,防止暴力破解和凭据填充攻击:对公共认证路由(如登录)按 IP 限流,对受保护操作按用户限流;无硬锁定(符合 NIST)(ADR-006)
可观测性插件结构化安全事件、自适应 PoW 挑战、代理认证的 /ops API——通过中间件接入,删除一个包即可移除(ADR-008)
CLI 工具Go TUI (plctl),用于查询事件、管理会话和通过 /ops 接口供应代理凭证(tools/cli/)
攻击向量测试JWT 篡改、算法混淆、类型混淆、Unicode 边界情况、信息泄露检查
功能为何重要标准 / 参考
CSRF 保护(如果 SameSite 放松)目前 SameSite=Strict 可防止 CSRF;如果出于用户体验考虑更改为 Lax,则需要显式令牌OWASP CSRF 备忘单
刷新令牌轮换检测令牌窃取——如果旋转出去的刷新令牌被重放,则撤销整个会话族RFC 6819 §5.2.2.3
JWT 中的 aud 声明防止一个服务的令牌被共享同一密钥的其他服务接受RFC 7519 §4.1.3、RFC 8725 §3.9
内联脚本的 CSP nonce当前 CSP 使用 'unsafe-inline';nonce 消除了内联脚本 XSS 向量MDN CSP script-src
功能为何重要标准 / 参考
TOTP 多因素认证为高价值账户添加第二个因素RFC 6238、NIST SP 800-63B §5.1.4
WebAuthn / 通行密钥使用平台身份验证器提供抗钓鱼认证WebAuthn Level 2
OAuth / 社交登录减少摩擦,避免密码疲劳RFC 6749
魔术链接 / OTP低风险流程的无密码选项NIST SP 800-63B §5.1.3
会话分析设备追踪、并发会话可见性、异常检测OWASP 会话管理备忘单
签名密钥轮换允许周期性密钥旋转而无需使所有会话失效RFC 7517 (JWK)
功能为何重要标准 / 参考
DPoP / 令牌绑定将令牌绑定到客户端的 TLS 连接,防止泄露重放RFC 9449 (DPoP)
多租户按租户隔离用户池、密钥和策略应用特定
地理围栏 / IP 声誉阻止来自非预期区域或已知不良 IP 的登录OWASP ASVS v5.0 §6.3.5
自适应认证基于风险信号(设备、位置、行为)升级认证要求NIST SP 800-63B §6
PBKDF2 迭代升级或 Argon2idOWASP 建议 210,000 次 PBKDF2-SHA512 迭代(Cloudflare 限制为 100k);Argon2id 是内存密集型OWASP 密码存储备忘单