Bezpečnost je rozhodnutí serveru, ne stav widgetu.
2IZI Guard chrání formuláře a veřejné akce lokálním hodnocením rizika, adaptivním třením a jednorázovými serverovými tokeny. Bez povinného externího CAPTCHA runtime.
Malá integrační plocha. Finální povolení zůstává na serveru.
Současný core cílí na PHP 8.1+ a je framework-independent na security boundary. Každou action chraňte explicitně a token spotřebujte před business operation.
1. Frontend
<script src="/guard/public/assets/guard.js?v=0.4.10" defer></script> <form data-guard-action="contact"> … </form>
2. Protected action
$result = Guard::verifyAndConsume(
$_POST['guard_token'] ?? '',
'contact'
);
if (!$result->allowed()) {
http_response_code(403);
exit;
}Typické actions
loginregisterpassword_resetcontactcheckoutfile_uploadJedna chráněná action. Pět nezávislých kontrolních bodů.
Prohlížeč se může účastnit challenge, ale business permission vždy vydává a spotřebovává server.
Ověřit kontext
Zkontrolovat Origin, action, session a základní limity před drahou prací.
Vyhodnotit lokálně
Serverové a aplikační signály vytvoří vysvětlitelné rozhodnutí o riziku.
Přidat tření
Policy volí PASS, PoW, interaction, throttle nebo deny.
Vydat jednou
Náhodný 256-bit opaque token navázat na session/action/origin a krátké TTL.
Atomicky spotřebovat
Business endpoint spotřebuje jednou; replay, mismatch a expiry se odmítnou.
Policy modes
Důvěryhodný provoz může projít bez zásahu; vyšší riziko může spustit PoW, hold, throttle nebo deny.
Integration contract
Současný core cílí na PHP 8.1+ a je framework-independent na security boundary. Každou action chraňte explicitně a token spotřebujte před business operation.
Action registry
The server defines allowed action names. Never use a client-provided action as authorization context.
'contact' => [ 'mode' => 'adaptive', 'fail_mode' => 'open_with_limit' ]
Origin / session binding
256-bit opaque tokens · pouze hash storage · krátké TTL · binding action/session/origin · HMAC integrity · one-time atomic consume · server-only business signals · fail-closed pro kritické actions.
UI isolation
Shadow DOM isolates Guard visuals from host CSS. It is a UI reliability layer, not a security boundary.
Localization
UI locale is BCP-47-style, UTF-8, RTL-ready, touch/keyboard compatible, and extendable with locale packs.
Předpokládáme, že útočník zná celý kód.
Kód, JavaScript, API, DB schema, PoW i prahy mohou být známé; tajemství a autorizace zůstávají na serveru.
Předpokládáme, že útočník má
- kompletní source
- moderní AI modely
- Playwright / Selenium / headless Chromium
- residential proxy
- záznamy vlastního provozu
Bezpečnost nespoléhá na skrytí
- JavaScript
- challenge algoritmů
- názvů polí
- endpointů
- risk thresholds
Veřejný kód má zvýšit auditovatelnost, ne oslabit model.
Čtení implementace nesmí vytvořit authorization bypass. Veřejný review vyžaduje disciplinované releases, keys, repository permissions a vulnerability handling.
Publikovat
- source a historii změn
- SECURITY.md a responsible disclosure
- threat model a architekturu
- automatické security / red-team tests
- release checksum a notes
Držet soukromé
- production config/guard.php
- APP_KEY a HMAC/privacy/rate-limit keys
- DB dumps a reálné security events
- reálné cookies/tokens/sessions
- deployment secrets a private infrastructure
Diagnostics, tests and updates
Diagnostics
php bin/diagnose.php
Check database state, key material, Origin configuration and registered actions before enabling enforcement.
Regression / red-team
bash tests/run-all.sh
Release acceptance includes replay, proxy, risk, tampering, UI and integration checks. Run disposable MariaDB/MySQL concurrency tests where available.
Updates
Read release notes and migrations first. Do not overwrite production config/guard.php with a distribution template. Rotate keys only when a release explicitly requires it.
Rollout
Start with Shadow Mode, review predicted decisions and false positives, tune action policies, then enable calibrated enforcement.
0.4.10 · pre-1.0 · aktivní vývoj
Současný branch má security-first architecture a automatické regression/red-team coverage. Nejdřív Shadow Mode, pak kalibrace enforcement na reálném provozu.