Package
Ganadev Shield terbagi menjadi dua package Composer terpisah (monorepo di-split menjadi dua repo GitHub):
| Package | Repo | Tanggung jawab |
|---|---|---|
ganadev/shield-core |
GanaDev-Com/shield-core | Inti framework-agnostik — normalisasi, mesin aturan, deteksi perilaku, skor risiko, decision engine, kebijakan ban, kontrak. Nol dependensi selain PHP ^8.2. |
ganadev/laravel-shield |
GanaDev-Com/laravel-shield | Adapter Laravel — middleware, repository Eloquent, cache adapter, halaman challenge, trusted cookie, perintah CLI/Admin. Meng-require ganadev/shield-core: ^1.0. |
shield-core
Section titled “shield-core”- Framework-agnostik: tidak memanggil Laravel sama sekali.
- Pipeline lengkap: normalisasi → signature → perilaku → skor → keputusan → persist.
- Definisi aturan data-driven (
DefaultRules) + pack injection dan WordPress. - Kontrak (interface) untuk penyimpanan, cache, challenge, trusted cookie — dipakai adapter framework lain.
composer require ganadev/shield-corelaravel-shield
Section titled “laravel-shield”- Middleware global
SecurityFirewallMiddlewareyang menempati jalur request sebelum controller. - Migrasi
security_ip_bans&security_events; repository Eloquent; cache hot-path untuk ban aktif. - Driver challenge: Cloudflare Turnstile, Google reCAPTCHA, dan
null(offline test). - Perintah CLI:
shield:report,shield:rules:list,shield:release,shield:prune,shield:health,shield:replay. - Admin API opsional (default nonaktif) dengan authorization gate.
composer require ganadev/laravel-shieldAdapter masa depan
Section titled “Adapter masa depan”Core mendefinisikan kontrak yang sama untuk semua framework. Adapter CodeIgniter 4, Symfony, atau PSR-15 cukup mengimplementasikan kontrak tersebut tanpa mengubah logika core (lihat Arsitektur).
Powered by PT Ganadev Multi Solusi