NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Open source

Sentinel for Laravel

Inštalácia
composer require roundly-consulting/sentinel-for-laravel
Vyžaduje: PHP ^8.4 · Laravel ^12.0|^13.0

Prehľad

Sentinel for Laravel vám povie, keď sa vaše dáta zmenili za chrbtom aplikácie, a zaručí, že každá požiadavka sa započíta len raz. Eloquent modely zapečatí kľúčovaným MAC alebo podpisom, odhalí každú zmenu vykonanú mimo aplikácie — v SQL konzole, hromadným update(), obnovou zálohy — a odmietne stavať na zmenenom riadku, kým zmenu niekto nepotvrdí s dôvodom. Okolo toho sú nástroje na integritu požiadaviek: idempotenčné kľúče, jednorazové nonce a URL a podpisy HTTP správ podľa RFC 9421. Natívny balík s licenciou MIT, postavený len na Laraveli a balíkoch Roundly Tier-0 package-toolkit, enums a crypto.

Čo získate

Pečate odhaľujúce zmeny

Pomenované, typované pečate na akomkoľvek Eloquent modeli, zapísané atomicky s každým zápisom a overiteľné kdekoľvek — s menami zmenených stĺpcov.

Zamietnuté do potvrdenia

Riadok zmenený mimo aplikácie sa nedá upraviť, kým niekto zmenu neprijme s dôvodom — zaznamená sa aj to, kto ju prijal.

Denník a externé kotvy

História každej udalosti pečatenia chránená MAC, zreťazené kontrolné body a publikovanie do externých kotiev — návrat zálohy sa prezradí.

Kruhy kľúčov a rotácia

Kľúče HMAC-SHA-256/384/512, Ed25519 a ECDSA v pomenovaných kruhoch s rotáciou, odvolaním, vyradením a importom kľúčov partnerov za behu.

Idempotenčné kľúče

Spracovanie Idempotency-Key pre HTTP routy, joby vo fronte aj programové volania — opakovanie dostane prvú odpoveď, nikdy druhú platbu.

Nonce a podpisy HTTP

Jednorazové nonce a podpísané URL, plus podpisy HTTP správ podľa RFC 9421 pre prichádzajúce aj odchádzajúce požiadavky.

Fasáda, DI alebo akcie

Jedna fasáda Sentinel, injektovateľný SentinelManager alebo jednoúčelové akcie — a nahrávací fake, ktorý zachováva produkčnú sémantiku.

Dokumentácia

Inštalácia

Inštalácia cez Composer, sprievodca sentinel:install, voľba typov morph kľúčov, migrácia, prvý kľúč a zapečatenie existujúcich riadkov.

Konfigurácia

Každý konfiguračný kľúč s predvolenou hodnotou a premennou env — kľúče a kruhy, pečatenie, overovanie, denník, idempotencia, nonce, podpisy a plán.

Čo odhalí

Čo Sentinel odhalí, proti akému útočníkovi, s externou kotvou aj bez nej — a čo zámerne negarantuje.

Deklarovanie pečatí

Deklarujte pomenované, typované pečate na modeli — builder, typy polí a odvodenie z castov, vypočítané hodnoty, znovupoužiteľné definície a chyby.

Fasáda Sentinel

Prehľad fasády Sentinel — handle for($model), ploché slovesá pečatí, operácie nad celým modelom a prístupy keys, ledger, idempotency, nonces a signatures.

DI a akcie

Bez fasády: injektujte SentinelManager alebo zavolajte jednu z 28 akcií — objekty požiadaviek, akcie s obyčajnými argumentmi a mapa metód na akcie.

Pečatenie a zápisy

Kedy sa riadky pečatia, ako sa zápis a pečať potvrdia atomicky, zápisy do zmeneného riadku, mazanie, pozastavenie a prepis save().

Overovanie

Overte jednu pečať, všetky pečate alebo viac modelov — výsledky, stavy a dôvody, poradie stavov, zmenené atribúty, overenie pri načítaní a skeny.

Potvrdzovanie zmien

Prijmite zmenu mimo aplikácie s dôvodom a aktérom, určte, kto to smie, zámerne odpečaťte a načítajte zmenený riadok na kontrolu.

Hromadné operácie

Skenujte, prepečaťte, vytvorte baseline a hromadne aktualizujte všetky riadky modelu — bez tichej legalizácie zmien, všetko alebo nič.

Denník, kontrolné body a kotvy

Denník len na pripájanie, zreťazené kontrolné body a externé kotvy, vďaka ktorým sa zmazaná či vrátená história prezradí — a ich overenie.

Middleware, pravidlo a scopes

Overte modely routy cez sentinel.verified, validujte vstup pravidlom IntactSeal, kontrolujte kolekcie cez verifySeals() a filtrujte podľa stavu pečate.

Idempotenčné kľúče

Spracovanie Idempotency-Key pre routy, programové behy pre joby a webhooky, middleware jobov Idempotent a makro klienta.

Nonce a jednorazové URL

Jednorazové tokeny viazané na účel a jednorazové podpísané URL — ukladá sa len hash a spotrebovanie je jeden atomický príkaz.

Podpisy HTTP správ

Overujte požiadavky partnerov podpísané podľa RFC 9421, podpisujte odchádzajúce volania a overujte odpovede — kľúče, profily, odmietnutia a voľby.

Správa kľúčov

Kruhy kľúčov, drivery a algoritmy; generovanie, import, rotácia, odvolanie a vyradenie kľúčov; stavy, uzly len na overovanie a import partnerov.

Príkazy a kontrola stavu

Každý príkaz sentinel:* s voľbami a návratovými kódmi, plán, ktorý sa zaregistruje sám, a kontrola stavu s desiatimi kontrolami.

Udalosti

Každá udalosť, ktorú Sentinel odosiela, kedy sa spustí a čo nesie — skalárny obsah bezpečný pre fronty a pomocníci na načítanie modelu.

Rozšírenie

Zapojte úložisko kľúčov v KMS alebo vlastnú kotvu a naviažte vlastné úložiská idempotencie a nonce, scope resolver či politiku potvrdenia.

Výnimky, stavy a enumy

Každá výnimka a kedy sa vyhodí, HTTP odpovede problem details, hodnoty stavov overenia a všetky enumy, ktoré Sentinel obsahuje.

Databázová schéma

Šesť tabuliek sentinel_, ich pripojenia a cudzie kľúče, modely na čítanie, factories, uchovávanie dát a databázové oprávnenia.

Kanonický formát

Zmrazený formát sentinel.seal/1: čo sa chráni MAC, ako sa normalizuje každý typ hodnoty, dokument pečate a značky polí.

Testovanie

Cez Sentinel::fake() naskriptujete stavy a overíte každé volanie, alebo spustite skutočné pečate v testoch s WithSentinelKeys.

Štandardy

Štandardy, ktoré Sentinel implementuje — HMAC, HKDF, JCS, EdDSA a ECDSA, RFC 9421, 9530, 9651 a 9457, správa kľúčov podľa NIST — a ako sú dokázané.

Požiadavky

PHP 8.4+ s ext-hash a ext-mbstring, Laravel 12 alebo 13 a SQLite, PostgreSQL alebo MySQL; ext-sodium pre kľúče Ed25519.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.