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.

Authentication

Dipendenze: Security

Descrizione

Il modello Authentcation svolge essenzialmente due procedure:

  • Verifica dei dati di login
  • Verifica se un utente è autenticato

I dati passati dal form del login vengono intercettati. L’autenticazione ha luogo se esiste una corrispondenza tra nome utente e password e se il campo chiave di controllo contiene “1″ (account verificato). La prova di autenticazione è rappresentata dall’inserimento dell’ID utente nella variabile di sessione auth. Questo, oltre a permettere di capire se l’utente ha correttamente svolto la procedura di autenticazione, permette anche di poter identificare in ogni momento l’utente.

$id_user = $_SESSION['auth']

Lista dei parametri

Parametro Descrizione Default
userTable Il nome della tabella utenti del databse Valore di DEFAULT_USERS_TABLE in config.php
usernameField Il nome utilizzato per il campo username della tabella utenti Valore di DEFAULT_USERNAME_FIELD in config.php
passwordField Il nome utilizzato per il campo password della tabella utenti Valore di DEFAULT_PASSWORD_FIELD in config.php
keyField Il nome utilizzato per il campo codice di controllo della tabella utenti Valore di DEFAULT_KEY_FIELD in config.php
primaryField Il nome utilizzato per il campo chiave primaria della tabella utenti Valore di DEFAULT_USER_PRIMARY_KEY_FIELD in config.php
cryptMethod Il metodo di cifratura della password. Vi sono tre valori possibili: md5, sha1 o 0 per non applicare cifrature (deprecato) Valore di DEFAULT_CRYPT_METHOD in config.php
usernameName Il nome del campo del form nel quale viene richiesto il nome utente Valore di DEFAULT_USERNAME_FORM_NAME in config.php
passwordName Il nome del campo del form nel quale viene richiesta la password Valore di DEFAULT_PASSWORD_FORM_NAME in config.php
bfp Se impostato con valore 1, implementa automaticamente il modello bruteForcePrevention. L’implementazione avviene direttamente all’interno del modello Authentication. 0
redirect Se redirect è settato a 0, il metodo isAuth() (che verifica se l’utente ha superato la procedura di autenticazione) ritorna TRUE o FALSE. Se invece redirect è settato ad esempio in questo modo login.php, significa che:
Se l’utente è autenticato, non succede nulla ed il codice continua ad essere eseguito. Mentre se l’utente non è autenticato, viene reindirizzato alla pagina login.php e l’esecuzione del codice viene interrotta.
Valore di LOGIN_URL in config.php
remembermeName Il nome del campo “ricordami” qualora lo si volesse utilizzare rememberme

Lista dei metodi e delle proprietà

Proprietà – Metodo Descrizione Return
verifyLogin() Verifica la correttezza dei dati di autenticazione ed in caso positivo valorizza la variabile di sessione auth con il valore dell’ID dell’utente TRUE: Se l’autenticazione è avvenuta
FALSE: Se l’autenticazione non è avvenuta
isAuth() Da inserire all’inizio di ogni pagina per la quale è richiesta l’autenticazione; verifica che l’autenticazione sia avvenuta. TRUE: Se l’utente è autenticato
FALSE: Se l’utente non è autenticato
(con redirect impostato a 0)

Login: esempio minimo

Bisognerà innanzitutto predisporre il form per il login

username<br /> <br /> password<br /> <br />

Ed ora la pagina alla quale punta il form avrà questo semplice aspetto

include 'standardLib/engine.php';
if(isset($_POST['submit']))
{
    if($model->verifyLogin())
    {
        // Cosa fare in caso di autenticazione
    }
    else
    {
        // Cosa fare in caso di mancata autenticazione
    }
}

Pagine protette: esempio minimo

Le pagine che richiedono l’autenticazione, dovranno iniziare con questo semplice codice:

include 'standardLib/engine.php';
_setOptions(array('redirect' => false));
if(!$model->isAuth())
{
	//cosa fare se l'utente non risulta autenticato
}

Oppure

include 'standardLib/engine.php';
_setOptions(array("redirect" => "login.php");

$model->isAuth()

In questo secondo caso, se l’utente è autenticato, continua l’esecuzione del codice. Altrimenti avviene il redirect alla pagina login.php