Programmazione Web » Asp » Proteggere le pagine utlizzando le sessioni

Proteggere le pagine utlizzando le sessioni

Difficoltà: Esperto Scritto da Davide Salonia
Sito Web: http://www.daviduccio.it E-Mail
Questo tutorial è stato letto 1167 volte




Salve, oggi vedremo come proteggere le nostre pagine avvalendoci delle Sessioni!

Prima di tutto, vediamo dove e come creare la Sessione di accesso alle nostre pagine protette. La Sessione di accesso, deve essere creata durante il Login dell'utente; più precisamente, se l'utente che cerca di entrare esiste iscritto nei nostri databases, allora avviamo la sessione e diamo così accesso alle pagine protette, altrimenti li indirizziamo in una pagina di errore!

Creiamo adesso un Recordset di esempio che si aggancerà al database e verificherà l'esistenza degli utenti:

Recuperiamo la username e la password inviate con POST :

<% usr=Request.Form("username")
psw=Request.Form("password")

Creiamo la connessione al database:

Set Conn=Server.CreateObject("ADODB.Connection")
strConn="Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/utenti.mdb")
Conn.Open strConn

Creiamo un recordset e selezionamo i campi "usname" e "passw" dalla tabella "tabella_utenti" e filtriamo per username e password richiesti:

sql = "SELECT usname,passw FROM tabella_utenti WHERE usname='"&replace(usr,"'","''")&"' AND passw='"&replace(psw,"'","''")&"'" Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, conn ,3,3

Adesso controlliamo che il recordset non sia vuoto, ovvero che username e/o password siano corretti. In caso siano corretti, verremmo indirizzati verso la pagina protetta, in caso contrario invece verso la pagina di errore:

if not rs.BOF then
session("ProtezioneDaviduccioSession")=usr 'Ecco dove abbiamo usato la sessione!
response.Redirect("pagina_protetta.asp")
else
response.redirect("pagina_errore.asp")
end if
%>

Creata dunque la sessione, veniamo reindirizzati verso la pagina protetta, che controllando l'esistenza della sessione, ci permette di visualizzare la pagina, altrimenti ci rispedisce verso la pagina di errore!

Continuiamo quindi creando il codice da inserire nelle pagine da proteggere:

<% if session("ProtezioneDaviduccioSession") = "" then response.redirect("pagina_errore.asp") end if %>

Tutto qui! In questo modo, se il login non viene eseguito perché non esiste l'utente, si viene reindirizzati verso la pagina di errore, in caso contrario, si può tranquillamente visualizzare la pagina!

Bene, siamo arrivati alle conclusioni! Vi siete chiesti perché abbiamo usato il comando replace nel recordset di autenticazione?

La risposta è: per evitare che qualche birbantello, provando a scompigliare la stringa SQL con apici e operatori, riesca ad entrare nelle pagine protette! Questa è una bella chicca, che spesso viene dimenticata, e ci si ritrova con una protezione che non protegge nulla!

Con il comando replace, trasformiamo l'apice in doppio apice, annullando così l'attacco del birbantello, che non può far altro che girare i tacchi e andarsene, o semplicemente registrarsi! ;-)

Aggiungi questo tutorial ai preferiti! Aggiungi questo tutorial ai preferiti


SEGNALA QUESTA RISORSA AD UN AMICO
Tuo nome
Tua mail
Nome amico
Mail tuo amico
Google
AREA UTENTI
E-MAIL PASSW
Perso la password?
I TUTORIAL PIU' LETTI
GIF ANIMATE
Script Gratis!
Spot

Sito Service
Tutorial per realizzare un sito web partendo da zero e script Asp per Aruba Server.

Tutorials & scripts
Articoli su HTML, CSS, PHP, ASP, Javascript, MySQL a cura di AG web solutions!

Guida Prestiti e Carte di credito
Giochi flash free
Giochi gratis online
Ricette di cucina gratis
Migliori torrent italiani
Notizie Dieta e Diete Alimentari

Cerca con Google