Featured Top
Cos’é standardLib

Si tratta di un framework PHP in grado di gestire con poche righe di codice i principali processi utilizzati nello sviluppo di un'applicazione web.

Questo avviene tramite dei modelli standard sui quali é basato il framework
Cosa sono i modelli

standardLib mette a disposizione delle interfacce per gestire operazioni quali:
  • - Registrazione utenti
  • - Autenticazione
  • - Inivo di email dal sito
  • - Paginazione contenuti
  • - Motori di ricerca
  • - Sicurezza
  • - Upload di file
  • - ...e molto altro

Queste interfacce prendono il nome di modelli
Cosa sono i plugins

Grazie allo sviluppo di plugins è possibile estendere i modelli di standardLib o per crearne dei nuovi.

Le procedure per la creazione di plugin sono esposte nell'apposita sezione.

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().