+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: LogIn + Check Utente

  1. #1
    L'avatar di StegcO
    StegcO non  in linea Scolaretto
    Luogo
    Milano
    Post
    421

    LogIn + Check Utente

    Ciao a tutti,

    sto creando una sezione privata sul mio sito, al momento la pagina di LogIn la seguente, semplicissima:

    codice:
    Username = Request.Form("Username")
    Password = Request.Form("Password")
    
    Username = Replace(Username,"'","''")
    Password = Replace(Password,"'","''")
    
    SQL = ""
    SQL = SQL & "SELECT * FROM Utenti "
    SQL = SQL & " WHERE "
    SQL = SQL & "  [Username]='" & Username & "' and "
    SQL = SQL & "  [Password]='" & Password & "'"
    
    Set objRs = objConn.Execute(SQL)
    
    IF Not(objRs.EOF) THEN
    
    	Session("Utente")=Username
    	Session.TimeOut=1440
    	Response.Redirect "main.asp"
    
    ELSE
    	Response.Redirect "index.asp"
    END IF
    Come vedete recupero Username e Password dal form nella pagina precedente, se i dati inseriti corrispondo a un Record del database (Access) allora si inserire la propria Username nella variabile di Session e si rimanda alla pagina principale dell'area privata (main.asp).

    Funziona tutto perfettamente, mi domandavo per cosa inserire in cima ad ogni pagina privata per verificare che si sia effettivamente loggati, altirmenti basterebbe andare direttamente alla pagina successiva tramite barra degli indirizzi sul browser per scavlcare il LogIn.

    Non saprei da dove iniziare, forse devo fare un check se l'utente nella variabile di Session effettivamente esiste nel DB?

    Grazie a tutti per i consigli
    MDB/ASP/VB6 Developer

  2. #2
    L'avatar di sistemista
    sistemista non  in linea Topo di biblioteca
    Luogo
    Prato
    Post
    2,713
    Mi sembra il minimo di controllare se l'utente esiste nel DB,senza contare se hai effettuato dei controlli di verifica quando l'utente si registrato se esiste la sua posta elettronica.
    Sono stato nella terra del terrore e dei Vampiri...la transilvania? No!..in Banca.
    A Lupara?Min***a...Tecnologia Sicula !

  3. #3
    L'avatar di StegcO
    StegcO non  in linea Scolaretto
    Luogo
    Milano
    Post
    421
    Perfetto, calcolando che nella pagina di LogIn inserisco l'utenza (gi verificata) nella Session, in ogni singola pagina pu bastare un controllo di questo tipo in cima ad ogni pagina privata?


    codice:
    Session.TimeOut=1440
    
    IF Session("Utente")<>"" THEN
    	Response.Redirect errore.asp
    	ELSE
    	
    	Pagina
    
    END IF
    MDB/ASP/VB6 Developer

  4. #4
    L'avatar di +m+
    +m+
    +m+ non  in linea Scribacchino
    Post
    922
    non vorrei dire ma c' una voragine di sql-injection l

  5. #5
    L'avatar di StegcO
    StegcO non  in linea Scolaretto
    Luogo
    Milano
    Post
    421
    Quote Originariamente inviato da +m+ Visualizza il messaggio
    non vorrei dire ma c' una voragine di sql-injection l
    Dillo dillo

    Come consigli di proteggermi dall'SQL-Injenction? Ho trovato questo script proprio cercando Anti SQL-Injection
    MDB/ASP/VB6 Developer

  6. #6
    L'avatar di sistemista
    sistemista non  in linea Topo di biblioteca
    Luogo
    Prato
    Post
    2,713
    Quale script scusa?
    Sono stato nella terra del terrore e dei Vampiri...la transilvania? No!..in Banca.
    A Lupara?Min***a...Tecnologia Sicula !

  7. #7
    L'avatar di +m+
    +m+
    +m+ non  in linea Scribacchino
    Post
    922
    Devi "sanitizzare" alla grande.
    Iniziando a...
    0) via la select *
    1) eliminare tutti i ;
    2) tutti i -, tutti gli 1=1
    3) controllare che nel nome utente e nella password non ci siano dentro istruzioni SQL
    4) spezza in due. prima prendi il nome utente, poi prendi la password (aggiunge poco in termini di sicurezza, ma meglio di niente)
    5) in generale forza nome utente e password ad essere in ['0'..'9'], ['a'..'z'], ['A'..'Z].
    Taglia via quindi gli spazi e tutti i vari segni di interpunzione, tra cui /* etc
    6) metti un limite sulla lunghezza di nome utente (corto) e della password, e controlla che non venga superata.

  8. #8
    L'avatar di sistemista
    sistemista non  in linea Topo di biblioteca
    Luogo
    Prato
    Post
    2,713
    Senza contare che la password deve essere criptata sul DB.
    Sono stato nella terra del terrore e dei Vampiri...la transilvania? No!..in Banca.
    A Lupara?Min***a...Tecnologia Sicula !

  9. #9
    L'avatar di +m+
    +m+
    +m+ non  in linea Scribacchino
    Post
    922
    Quote Originariamente inviato da sistemista Visualizza il messaggio
    Senza contare che la password deve essere criptata sul DB.
    pi che criptata memorizzata sotto forma di hash.

  10. #10
    L'avatar di sistemista
    sistemista non  in linea Topo di biblioteca
    Luogo
    Prato
    Post
    2,713
    Una password criptata sar difficile decriptarla..con gli hash tipo MD5 sappiamo benissimo che in rete cosa circola,comunque sia,spetta al programmatore cosa fare e non fare.
    Sono stato nella terra del terrore e dei Vampiri...la transilvania? No!..in Banca.
    A Lupara?Min***a...Tecnologia Sicula !

+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi