codice:
<% 'Connessione al database 'Attenzione: bisogna cambiare posizione al file utenti.mdb nei siti in produzione altrimenti digitando http://mioserver/utenti.mdb 'si ottiene il database completo con le pass in chiaro.
function apo(str)
apo=Replace(str,"'","''")
end function
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../mdb-database/utenti.mdb")
paginaOriginale=request("paginaOriginale")
if paginaOriginale="" then
paginaOriginale="Default.asp" 'Leggiamo i dati raccolti da login.asp
login=apo(request("login"))
pass=apo(request("pass"))
'Apriamo la connessione al database
Set connessione = Server.CreateObject("ADODB.Connection")
connessione.Open connectionString
'Facciamo la query
query="SELECT * FROM UTENTI WHERE login='"&login&"' And pass='"&pass&"'"
Set rs = connessione.execute(query)
if rs.EOF then 'Il resultset è vuoto non esiste nessun utente con il login inserito
Session.Abandon
paginaDiDestinazione = "login.asp?errore="&Server.URLEncode("Nome utente inesistente")&"&paginaOriginale="&ginaOriginale
else 'Esiste un utente con il login inserito
if rs("pass")=pass then 'La pass inserita è corretta?
'Se si autentichiamo l'utente e lo rimandiamo alla pagina originale
Session("Autenticato")="OK"
Session("livelloUtente")=rs("livelloUtente")
Session("nominativo")=rs("nominativo")
paginaDiDestinazione = paginaOriginale
else 'L'utente ha sbagliato pass
Session.Abandon
paginaDiDestinazione = "login.asp?errore="&Server.URLEncode("La password inserita non è corretta")&"&paginaOriginale="&paginaOriginale
end if
end if
'Facciamo pulizia
rs.close
set rs = nothing
connessione.close
set connessione = nothing
'Rimandiamo l'utente alla pagina appropriata
Response.Redirect paginaDiDestinazione
%>