Obiettivo di questo articolo è dimostrare come sia semplice implementare in ASP un sistema di autenticazione degli utenti che visitano il nostro sito. In questo esempio divideremo gli utenti in registrati, moderatori e amministratori, ognuno con la possibilità di visitare sezioni del sito via via più ampie. Ovviamente la soluzione proposta permette di aumentare e diminuire il numero di livelli possibili.
Contenuto dello script
I file contenuti nello script sono diversi:
- default.asp
- miapaginaX.asp
- livelloX.asp
- proteggi.asp
- login.asp
- autentica.asp
- footer.asp
- logout.asp
- utenti.mdb
Il database contiene una struttura del tipo:
Nome | Tipo | Dimensione |
Login | testo | 20 |
Password | testo | 20 |
LivelloUtente | intero | |
Nominativo | testo | 50 |
Principio di funzionamento
Il principio di funzionamento è piuttosto semplice, ma merita di essere analizzato. Le pagine da proteggere devono riportare come prime due righe due include del tipo:
<!--#include file="proteggi.asp" -->
Con questo piccolo accorgimento otteniamo l'attivazione del seguente iter:
- livelloX.asp
- proteggi.asp
- La pagina login.asp autentica.asp
- autentica.asp
- Se non ci sono stati errori si prosegue con la visualizzazione della pagina!
- Massima semplicità;
- Validazione anche da database ODBC;
- Massima possibilità di personalizzazione;
- Sono implementabili strumenti per amministrazione remota.
- Si possono proteggere solo le pagine di scripting;
- Si escludono gli utenti che non accettano i cookies;
- Login e password viaggiano in chiaro.
Considerazioni finali
Innanzitutto se decidete di usare questo sistema per qualche sito di produzione, raccomando di spostare il file utenti.mdb in un posto sicuro, perché altrimenti digitando nel browser http://miosito/utenti.mdb si ottiene il database completo e con le password in chiaro: sembra una banalità ma conosco diverse persone che non ci avevano pensato!
Di seguito possiamo dire che il sistema qui esposto gode sicuramente di alcuni punti a favore e altri a sfavore come rappresentato dalla tabella seguente:
Vantaggi | Svantaggi |
|
|
Vedremo magari in un prossimo articolo che gli inconvenienti rilevati si possono comunque eliminare abbastanza facilmente e che a fronte di questi si hanno dei benefici che vanno bene per la maggior parte dei siti web presenti in Internet. Rimango comunque a disposizione per ulteriori chiarimenti in merito.