Lewati ke konten

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.
  • 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.
Terminal window
composer require ganadev/shield-core
  • Middleware global SecurityFirewallMiddleware yang 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.
Terminal window
composer require ganadev/laravel-shield

Rilis terbaru adalah 1.2.2. Nomor 1.1.0 dilewati karena tidak pernah diberi tag Git, jadi tidak pernah terbit dan tidak perlu di-deprecate.

Package Tag sebelum 1.2.0 Tag sebelum 1.2.2
ganadev/shield-core 1.0.1 1.2.0
ganadev/laravel-shield 1.0.0 1.2.0

laravel-shield meng-require ganadev/shield-core: ^1.2.1. Constraint itu sudah ada di metadata sejak 1.2.2 karena adapter memakai API config yang diperkenalkan core pada rilis 1.2.1, yaitu rules.skip_paths, api.paths, dan logging.level. Tanpa constraint itu, composer bisa memenuhi permintaan dengan core 1.2.0 yang belum punya properti tersebut dan adapter gagal saat runtime. Core dan adapter harus naik versi bersamaan.

Untuk aplikasi yang sudah terpasang, naikkan kedua package sekaligus:

Terminal window
composer require ganadev/laravel-shield:^1.2.2 ganadev/shield-core:^1.2.2

Baca Upgrade ke v1.2.2 sebelum melakukan upgrade.

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