salve a tutti.
ho questo login in asp e in mdb
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. 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=request("login") pass=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&"'" query="SELECT * FROM UTENTI WHERE 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 %>
ora c'è un difetto. Esempio:
iscrivo un utente con login = 1 e pass = 1
è un ulteriore con login = 2 e pass = 2.
ora effettuo l'accesso
inserisco nel campo login 1 e nel campo pass 2
e mi fa effettuare comunque l'accesso nella pagina protetta
in poche parole vorrei che il login e la password per essere confermate devono essere contenute nella stessa riga chi può darmi una mano??
grazie a tutti anticipatamente

Rispondi quotando