Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 41

Discussione: help!! login in asp

  1. #1

    help!! login in asp

    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

  2. #2
    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 
    %>

  3. #3
    non và!!!

  4. #4
    Servono le quadre nella query

  5. #5
    Scusami non sono esperto in asp, potresti farmi un esempio?
    Grazie

  6. #6
    Originariamente inviato da enrico16101990
    non và!!!
    Cosa non va esattamente?

  7. #7
    In poche parole se nel database ho 3 utenti esempio:
    1 = login 1 pass 1
    2 = login 2 pass 2
    3 = login 3 pass 3
    Se io inserisco login 1 e pass 1 mi fa accedere e fin qui ci siamo.
    Invece se inserisco al login 1 e alla pass un testo qualsiasi tra questi tre 1 2 3 mi fa accedere comunque anche se le password corrisponde ad un altro utente.
    Secondo te cosa può essere?

  8. #8
    Sì, questo si era capito. Ti chiedevo cosa non va nella versione che ti ho postato. Ti da errore?

  9. #9
    No non mi da errori pero accetta password di qualsiasi utente contenuto database anche se non corrisponde al rigo dell'utente

  10. #10
    Originariamente inviato da enrico16101990
    No non mi da errori pero accetta password di qualsiasi utente contenuto database anche se non corrisponde al rigo dell'utente
    anche con la query:
    "SELECT * FROM UTENTI WHERE login='"&login&"' And pass='"&pass&"'" ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.