自托管安全 · PRE-1.0

把信任决策 留在您自己的服务器上。

2IZI Guard 通过本地风险评估、自适应摩擦和一次性服务器授权令牌保护表单与公开操作。核心运行时不强制依赖外部 CAPTCHA。

核心运行时无需强制 Google、Yandex、Cloudflare、外部 API、CDN 或第三方遥测。
PHP 8.1+AdaptiveShadow ModePrivacy-first
2IZI Guardlocal decision surface
actionregister
origin2iziguard.com
sessionbound
modeAdaptive
local risk18/100
PASSsilent
01
Context
02
Risk
03
Challenge
04
Token
05
Consume
0required third-party calls
256-bitopaque token
HMACstate integrity
atomic consume
0必需的外部运行时请求
256-bit不透明令牌熵
绑定 action / session / origin
原子一次性消费
面向应用操作

安全由服务器决定,而不是由小组件状态决定。

可见 challenge 只是其中一层。Guard 在业务操作执行前保护服务器端 action。

默认本地运行

风险评估、challenge 验证和授权都留在项目内部。

服务器最终决定

JavaScript 成功从不等于授权;服务器验证并消费 Guard token。

自适应摩擦

可信流量可静默通过,高风险可触发 PoW、按住确认、节流或拒绝。

速率感知

可组合网络、Guard session、账户、action 和站点级限流。

隐私优先

IP 和浏览器信号不被视为身份,默认避免侵入式指纹。

可解释决策

Risk Engine 保留 reason codes 和 Shadow Mode 预测用于调优。

工作原理

一个受保护 action,五个独立检查点。

浏览器可以参与 challenge,但业务权限始终由服务器签发并消费。

01

验证上下文

先检查 Origin、action、session 和基础限流。

02

本地评分

服务器与应用信号生成可解释的风险决策。

03

增加摩擦

策略选择 PASS、PoW、交互、节流或拒绝。

04

一次签发

随机 256-bit opaque token 绑定 session/action/origin 和短 TTL。

05

原子消费

业务 endpoint 只消费一次;重放、失配和过期会被拒绝。

威胁模型

假设攻击者知道完整代码库。

2IZI Guard 采用 Kerckhoffs-style 假设:源码、JavaScript、API、数据库结构、PoW 和阈值都可能公开。秘密和授权仍必须留在服务器端。

假设攻击者拥有
  • 完整源码
  • 现代 AI 模型
  • Playwright / Selenium / headless Chromium
  • 住宅代理
  • 自己的流量记录
安全不依赖隐藏
  • JavaScript
  • challenge 算法
  • 字段名
  • endpoint
  • risk threshold
开源

公开代码应提升可审计性,而不是削弱安全模型。

阅读实现不应产生授权绕过。公开审查需要严格的发布、密钥、仓库权限和漏洞处理流程。

公开

  • 源码与变更历史
  • SECURITY.md 与 responsible disclosure
  • 威胁模型与架构
  • 自动 security / red-team 测试
  • 发布校验和与 notes

保持私有

  • 生产 config/guard.php
  • APP_KEY 与 HMAC/privacy/rate-limit 密钥
  • 数据库 dump 与真实 security events
  • 真实 cookie/token/session
  • 部署秘密与私有基础设施信息
集成

集成面小,最终权限始终在服务器端。

当前核心面向 PHP 8.1+,安全边界不绑定框架。每个 action 显式保护,并在业务操作前消费 token。

典型 actionsloginregisterpassword_resetcontactcheckoutfile_upload
前端HTML
<script src="/guard/public/assets/guard.js" defer></script>
<form data-guard-action="contact">
  …
</form>
受保护 actionPHP
$result = Guard::verifyAndConsume(
  $_POST['guard_token'] ?? '',
  'contact'
);
if (!$result->allowed()) { http_response_code(403); exit; }
PRE-1.0
当前状态

0.4.10 · pre-1.0 · 活跃开发

当前分支采用 security-first 架构并包含自动 regression/red-team 测试。建议先 Shadow Mode,再按真实流量调优 enforcement。

PHP core可用
Webasyst / Shop-Script adapter核心稳定后
Verified agents / Privacy Pass未来 / 取决于标准
Release0.4.10
FAQ

明确的能力,明确的边界。

公开源码会更容易被攻破吗?+
更容易研究实现,所以安全不能依赖 obscurity。公开审查、测试和 responsible disclosure 有助于更早发现缺陷。
Guard 会替代 MFA、passkey 或 WAF 吗?+
不会。Guard 是 anti-automation 与 abuse-protection 层,关键操作仍需要认证、授权、CSRF、MFA/passkey 等控制。
核心运行时需要互联网吗?+
核心保护流程不需要强制外连。更新、仓库和未来可选 attestation 是独立功能。
高级机器人仍能通过交互检查吗?+
可能。受控浏览器、AI 和人工 solver 能模拟交互,所以最终授权仍依赖服务器上下文、限流、token 和业务策略。

构建可被审查的滥用防护。

本地运行时。服务器授权。公开威胁模型。无需强制外部 CAPTCHA。

语言

EnglishEnglishРусскийRussian简体中文Chinese (Simplified)繁體中文Chinese (Traditional)日本語Japanese한국어KoreanDeutschGermanFrançaisFrenchEspañolSpanishItalianoItalianPortuguês (Brasil)Portuguese (Brazil)العربيةArabicעבריתHebrewTürkçeTurkishPolskiPolishNederlandsDutchBahasa IndonesiaIndonesianTiếng ViệtVietnameseहिन्दीHindiPortuguês (Portugal)Portuguese (Portugal)ČeštinaCzechRomânăRomanianMagyarHungarianΕλληνικάGreekSvenskaSwedishNorskNorwegianDanskDanishSuomiFinnishไทยThai