standardLib – PHP framework
bruteForcePrevention
Dipendenze: nessuna
Disponibile dalla versione: 0.8
Descrizione
Il modello bruteForcePrevention è in grado di preventire attacchi ti tipo “brute force”. In seguito ad un numero predefinito di tentativi di login falliti dallo stesso IP, questo modello blocca la possibilità di autenticarsi (all’IP in questione) per un tempo predefinito.
Il modello Autentication può opzionalmente utilizzare bruteForcePrevention attivandolo all’inizializzazione (bfp:1) ed è anche la procedura più logica. E’ tuttavia possibile utilizzare il modello bruteForcePrevention singolarmente.
Lista dei parametri
| Parametro | Descrizione | Default |
|---|---|---|
| maxChance | Il numero di tentativi oltre i quali viene bloccato il login | 5 |
| resetTime | La durata del blocco espressa in secondi | 600 |
Lista dei metodi e delle proprietà
| Proprietà – Metodo | Descrizione | Return |
|---|---|---|
| clearLog() | Questo metodo si occupa di eliminare i registri scaduti e quindi anche di riabilitare eventuali IP bloccati. Va dunque eseguito all’inizio | |
| addLog() | Questo metodo si occupa di registrare i tentativi falliti di login. Va eseguito quindi nel caso in cui i dati forniti non siano corretti | |
| isLocked() | Questo metodo verifica se l’IP che stà inviando la richiesta risulta bloccato | TRUE: se bloccato, FALSE se non bloccato |
| alertMessage | Questa proprietà contiene, se isLocked() è TRUE, il messaggio predefinito di errore |
bruteForcePrevention: esempio minimo
La pagina che riceve i dati dal form del login potrebbe essere così:
include 'standardLib/engine.php';
$model->clearLog();
if($model->isLocked())
{
die($model->alertMessage);
}
if(procedura di autenticazione)
{
//autenticato
}
else
{
//non autenticato
$model->addLog();
}
Utilizzando il modello Authentication con il parametro bfp impostato a 1, questa procedure è automaticamente inclusa nel metodo verifyLogin().

