DB Event Manager
📅 DB Event Manager Gestione eventi con iscrizione, QR code personale, check-in da smartphone e survey post-evento. Niente Eventbrite, niente…
Protezione brute force per WordPress. Registra, blocca, notifica. Niente servizi cloud, niente abbonamenti, niente tracciamento.
Versione: 1.1.0 · Autore: Davide Bertolino · Compatibilità: WordPress 5.8+ · PHP 7.4+ · Licenza: GPL v2
DB Login Guard monitora tutti i tentativi di accesso al tuo sito WordPress. Se qualcuno prova troppe password sbagliate, il suo IP viene bloccato automaticamente. Ogni tentativo viene registrato in un log con IP, username, user-agent e timestamp. Ricevi una notifica via email quando scatta un blocco. Nessun servizio esterno, nessun database cloud, tutto resta sul tuo server.
Dopo un numero configurabile di tentativi falliti dallo stesso IP (default: 5 in 10 minuti), l’IP viene bloccato temporaneamente. La durata del blocco è configurabile (default: 30 minuti). Il blocco interviene prima che WordPress provi le credenziali — nessun carico inutile sul database.
Ogni tentativo di login viene registrato con tutti i dettagli:
Log consultabile dall’admin con filtri per stato, IP e username. Paginazione e export CSV inclusi.
Panoramica immediata della situazione: tentativi falliti nelle ultime 24 ore, IP unici attaccanti, numero di IP attualmente bloccati, username più bersagliato. Il tuo IP è mostrato con indicazione se è in whitelist o meno.
Tabella con tutti gli IP bloccati: quando sono stati bloccati, quando scade il blocco, quanti tentativi avevano fatto. Sblocco manuale con un click. Blocco manuale di qualsiasi IP direttamente dalla tabella.
Lista di IP che non vengono mai bloccati — per non chiuderti fuori dal tuo stesso sito. Supporta la notazione CIDR (es: 192.168.1.0/24) per coprire intere sottoreti.
Quando un IP viene bloccato, ricevi un’email con tutti i dettagli: IP, username tentato, numero di tentativi, durata del blocco. Rate limiting integrato: massimo un’email ogni 10 minuti per lo stesso IP, per non intasarti la casella durante un attacco massivo.
WP Cron elimina automaticamente i record del log più vecchi di N giorni (default: 30). I blocchi scaduti vengono rimossi nella stessa operazione. Il database resta leggero senza intervento manuale.
XML-RPC è un protocollo legacy che i bot sfruttano per brute force via system.multicall — consente centinaia di tentativi di login in una singola richiesta HTTP. Con un checkbox lo disabiliti completamente: blocco 403 su xmlrpc.php, rimozione dell’header X-Pingback e dei link RSD/WLW dal codice sorgente. Se non usi l’app WordPress desktop vecchia, disattivalo senza pensarci.
Per default WordPress espone la lista degli username del sito su /wp-json/wp/v2/users — chiunque può leggerla senza autenticarsi. Questa opzione blocca l’endpoint per i visitatori anonimi con errore 403. Gli utenti loggati e Gutenberg continuano a funzionare normalmente, perché la restrizione si applica solo alle richieste non autenticate.
| Funzionalità | Inclusa |
|---|---|
| Blocco automatico brute force | ✅ Sì |
| Log tentativi di accesso | ✅ Sì |
| Dashboard statistiche | ✅ Sì |
| Whitelist IP / CIDR | ✅ Sì |
| Notifiche email | ✅ Sì |
| Export CSV | ✅ Sì |
| Auto-pulizia log | ✅ Sì |
| Disabilita XML-RPC | ✅ Sì |
| Proteggi REST API /users | ✅ Sì |
| Versione “Pro” | ❌ Non esiste |
Zero euro. Tutto incluso. Nessuna funzionalità nascosta dietro un paywall.
Il plugin è attivo subito con valori ragionevoli: 5 tentativi in 10 minuti → blocco 30 minuti. L’unica cosa consigliata è aggiungere il tuo IP alla whitelist per non rischiare di bloccarti fuori durante i test.
Il pannello si trova in Strumenti → Login Guard ed è organizzato in 4 tab:
| Tab | Contenuto |
|---|---|
| Dashboard | Statistiche 24h, stato protezione, IP attuale, configurazione attiva |
| Log accessi | Tabella con filtri (stato, IP, username), paginazione, svuota log, export CSV |
| IP bloccati | Lista IP bloccati con sblocco manuale, blocco manuale per IP |
| Impostazioni | Tentativi max, finestra temporale, durata blocco, whitelist, log, notifiche, hardening |
db-login-guard/
├── db-login-guard.php # File principale + singleton
├── uninstall.php # Pulizia completa
├── README.md
├── LICENSE
├── assets/
│ ├── css/
│ │ └── admin.css # Stili pagina admin
│ └── js/
│ └── admin.js # AJAX clear/export
└── inc/
├── class-database.php # Tabelle, query, CRUD
├── class-guard.php # Logica protezione + hook login
├── class-admin.php # Pagina admin + AJAX
├── class-cron.php # Auto-pulizia giornaliera
└── class-hardening.php # XML-RPC disable + REST API restriction
{prefix}dblg_login_log e {prefix}dblg_blocked_ipsauthenticate a priorità 1 — prima che WordPress tocchi il database10.0.0.0/8)init con 403 e logga il tentativo/wp/v2/users per anonimi — tutti gli altri endpoint restano accessibiliGPL v2 or later — sei libero di utilizzare, modificare e distribuire questo plugin.
Davide Bertolino
🌐 davidebertolino.it
📧 info@davidebertolino.it
🚫 Nessuna registrazione. Nessun reminder. Nessun trucco.
Scarica, installa, usa. Niente account, niente popup, niente “passa a Pro”, niente telemetria. Il codice è tuo, la licenza è GPL v2, le funzionalità sono tutte incluse. Fine.
Hai suggerimenti o hai trovato un bug? Contattami!
📅 DB Event Manager Gestione eventi con iscrizione, QR code personale, check-in da smartphone e survey post-evento. Niente Eventbrite, niente…
DB Login Customizer La pagina di login di WordPress, con i tuoi colori e il tuo logo. Niente plugin pesanti,…