Sikkerhed er en serverbeslutning, ikke en widgettilstand.
2IZI Guard beskytter formularer og offentlige handlinger med lokal risikovurdering, adaptiv friktion og engangstokens fra serveren. Ingen obligatorisk ekstern CAPTCHA-runtime.
Lille integrationsflade. Endelig tilladelse forbliver server-side.
Nuværende core retter sig mod PHP 8.1+ og er framework-independent ved security boundary. Beskyt hver action eksplicit og forbrug token før 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;
}Typiske actions
loginregisterpassword_resetcontactcheckoutfile_uploadÉn beskyttet action. Fem uafhængige checkpoints.
Browseren kan deltage i challenge, men business permission udstedes og forbruges altid af serveren.
Valider context
Kontrollér Origin, action, session og grundlæggende limits før dyrt arbejde.
Vurder lokalt
Server- og applikationssignaler giver en forklarlig risikobeslutning.
Tilføj friktion
Policy vælger PASS, PoW, interaction, throttle eller deny.
Udsted én gang
Tilfældigt 256-bit opaque token bindes til session/action/origin og kort TTL.
Forbrug atomisk
Business endpoint forbruger én gang; replay, mismatch og expiry afvises.
Policy modes
Betroet trafik kan passere stille; højere risiko kan udløse PoW, hold, throttle eller deny.
Integration contract
Nuværende core retter sig mod PHP 8.1+ og er framework-independent ved security boundary. Beskyt hver action eksplicit og forbrug token før 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 · hash-only storage · kort TTL · binding action/session/origin · HMAC integrity · one-time atomic consume · server-only business signals · fail-closed critical 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.
Vi antager, at angriberen kender hele koden.
Kode, JavaScript, API, DB-schema, PoW og thresholds kan være kendte; hemmeligheder og autorisation bliver på serveren.
Vi antager, at angriberen har
- fuld source code
- moderne AI-modeller
- Playwright / Selenium / headless Chromium
- residential proxies
- captures af egen trafik
Security afhænger ikke af at skjule
- JavaScript
- challenge algorithms
- field names
- endpoints
- risk thresholds
Offentlig kode skal øge auditérbarhed, ikke svække modellen.
At læse implementation må ikke skabe authorization bypass. Public review kræver disciplinerede releases, keys, repository permissions og vulnerability handling.
Publicér
- source og ændringshistorik
- SECURITY.md og responsible disclosure
- threat model og architecture
- automatiserede security / red-team tests
- release checksums og notes
Hold privat
- production config/guard.php
- APP_KEY og HMAC/privacy/rate-limit keys
- DB dumps og ægte security events
- ægte cookies/tokens/sessions
- deployment secrets og 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 · aktiv udvikling
Nuværende branch har security-first architecture og automatisk regression/red-team coverage. Start med Shadow Mode og kalibrér enforcement på reel trafik.