Securitatea este o decizie a serverului, nu starea unui widget.
2IZI Guard protejează formulare și acțiuni publice prin evaluare locală a riscului, fricțiune adaptivă și tokenuri server de unică folosință. Fără CAPTCHA extern obligatoriu.
Suprafață mică de integrare. Permisiunea finală rămâne pe server.
Core-ul actual vizează PHP 8.1+ și este framework-independent la security boundary. Protejează fiecare action explicit și consumă tokenul înainte de 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;
}Actions tipice
loginregisterpassword_resetcontactcheckoutfile_uploadO action protejată. Cinci puncte de control independente.
Browserul poate participa la challenge, dar permisiunea business este emisă și consumată întotdeauna de server.
Validează contextul
Verifică Origin, action, session și limitele de bază înainte de lucru costisitor.
Evaluează local
Semnalele server și aplicație produc o decizie de risc explicabilă.
Adaugă fricțiune
Policy alege PASS, PoW, interaction, throttle sau deny.
Emite o singură dată
Token opac aleator 256-bit legat de session/action/origin și TTL scurt.
Consumă atomic
Business endpoint consumă o singură dată; replay, mismatch și expiry sunt respinse.
Policy modes
Traficul de încredere poate trece silențios; risc mai mare poate activa PoW, hold, throttle sau deny.
Integration contract
Core-ul actual vizează PHP 8.1+ și este framework-independent la security boundary. Protejează fiecare action explicit și consumă tokenul înainte de 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 · stocare doar hash · TTL scurt · binding action/session/origin · HMAC integrity · one-time atomic consume · server-only business signals · fail-closed pentru actions critice.
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.
Presupunem că atacatorul cunoaște tot codul.
Codul, JavaScript, API-ul, schema DB, PoW și pragurile pot fi cunoscute; secretele și autorizarea rămân pe server.
Presupunem că atacatorul are
- cod sursă complet
- modele AI moderne
- Playwright / Selenium / headless Chromium
- residential proxies
- capturi ale propriului trafic
Securitatea nu depinde de ascunderea
- JavaScript
- algoritmilor challenge
- numelor de câmpuri
- endpointurilor
- risk thresholds
Codul public trebuie să crească auditabilitatea, nu să slăbească modelul.
Citirea implementării nu trebuie să creeze authorization bypass. Review public cere releases, keys, repository permissions și vulnerability handling disciplinate.
Publică
- source și istoric schimbări
- SECURITY.md și responsible disclosure
- threat model și arhitectură
- tests security / red-team automate
- release checksums și notes
Păstrează privat
- production config/guard.php
- APP_KEY și HMAC/privacy/rate-limit keys
- DB dumps și security events reale
- cookies/tokens/sessions reale
- deployment secrets și 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 · dezvoltare activă
Branch-ul actual are security-first architecture și regression/red-team coverage automat. Începe cu Shadow Mode și calibrează enforcement pe trafic real.