2IZI Guard · 0.4.10 · PRE-1.0

Documentație

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.

Pentru acțiuni ale aplicației

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.

PHP 8.1+Core runtime
MariaDB / MySQLBaseline storage
0required outbound runtime calls
256-bitopaque token entropy
PRE-1.0Branch-ul actual are security-first architecture și regression/red-team coverage automat. Începe cu Shadow Mode și calibrează enforcement pe trafic real.
Quick start

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

FrontendHTML
<script src="/guard/public/assets/guard.js?v=0.4.10" defer></script>
<form data-guard-action="contact">
  …
</form>

2. Protected action

Action protejatăPHP
$result = Guard::verifyAndConsume(
    $_POST['guard_token'] ?? '',
    'contact'
);

if (!$result->allowed()) {
    http_response_code(403);
    exit;
}

Actions tipice

loginregisterpassword_resetcontactcheckoutfile_upload
Server authoritySuccesul JavaScript nu este autorizare. Serverul verifică și consumă Guard token.
Cum funcționează

O action protejată. Cinci puncte de control independente.

Browserul poate participa la challenge, dar permisiunea business este emisă și consumată întotdeauna de server.

01

Validează contextul

Verifică Origin, action, session și limitele de bază înainte de lucru costisitor.

02

Evaluează local

Semnalele server și aplicație produc o decizie de risc explicabilă.

03

Adaugă fricțiune

Policy alege PASS, PoW, interaction, throttle sau deny.

04

Emite o singură dată

Token opac aleator 256-bit legat de session/action/origin și TTL scurt.

05

Consumă atomic

Business endpoint consumă o singură dată; replay, mismatch și expiry sunt respinse.

Policy modes

ShadowObserve and predict; no enforcement.
InvisibleNo visible challenge.
AdaptiveRisk-based PASS / PoW / interaction / deny.
Always challengeRequire step-up for every protected request.

Traficul de încredere poate trece silențios; risc mai mare poate activa PoW, hold, throttle sau deny.

Integrare

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.

Model de amenințare

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
Invariante de bază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.
Limită sincerăNiciun browser challenge nu poate demonstra matematic „om biologic”. Actions critice au nevoie în continuare de passkey/WebAuthn, MFA, verified accounts, autorizare de tranzacție și business limits.
Open source

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
Operations

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.

Stare curentă

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.

PHP coreDisponibil
Webasyst / Shop-Script adapterDupă stabilizarea core
Verified agents / Privacy PassViitor / dependent de standarde
0.4.10The responsive-layout hotfix changes UI sizing and preview embedding only; database schema, token/challenge protocol, keys, risk engine and server authorization logic are unchanged.

Limbă

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