Visualizzazione dei risultati da 1 a 6 su 6

Discussione: login sicuro

  1. #1
    Utente di HTML.it L'avatar di grisson
    Registrato dal
    Jul 2006
    Messaggi
    166

    login sicuro

    siccome mi capita spesso di gestire il login degli utenti al sito volevo sapere qual'è il modo piu sicuro per gestire la sessione di navigazione dell'utente autenticato.

    strolicando un po ho pensato a questo:
    1)login: tramite un javascript faccio l'hash md5 o sha1 della password ed eventualmente anche del nome utente e le invio alla pagina di elaborazione del login via post .

    2)la pagina di login fa quello che deve fare e in caso di user/psw corrette crea un record nella tabella "sessioni" del database associato al sito e salva: ip utente, id sessione, codice casuale(poi spiego a cosa serve), ora del login, id utente

    3) crea una variabile di sessione in cui salva il codice casuale(pensato inizialmente per distinguere gli utenti nattati che figurano con lo stesso ip, ad esempio che provengono dalla stessa lan)

    4) ad ogni pagina faccio il controllo incrociato codice casuale/session id/ip utente tra i dati del db e quelli che leggo dal client con le apposite funzioni.

    se ovviamente mi viene restituito un record vuol dire che l'utente si era già loggato e di conseguenza lo tratto da loggato.
    poi attraverso l'ora di login, se un utente non si slogga(cancellando il suo record di sessione), faccio in modo che dopo X minuti il record venga cancellato automaticamente per inattività...

    può andare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    74
    Il fatto del javascript che crea l'md5 o sha1 della password è buono ma inutile dato che comunque sarebbe sempre lo stesso md5 o sha1 ad essere inviato, perciò se qualcuno riesce a sniffare la password inviata, può inviare direttamente l'md5 ed essere riconosciuto.

    La cosa migliore sarebbe inviare all'utente un cookie con una parola generata casualmente (random). Poi l'utente reinvia al server la password + parola random codificate (sempre md5 o sha1 o entrambi) ed il server fa il controllo sulla password + parola che ha inviato.

    Ancora meglio se all'accesso all'area login crei la sessione, invii la parola all'interno del codice html, e salvi la parola con la sessione sul db. All'invio da parte dell'utente della password, verifichi l'id della sessione, recuperi dal db la parola random che hai associato, unisci, codifichi e verifichi...

    mamma che lunga sta storia... spero sia comprensibile
    ..
    "Voi che avete gl'intelletti sani,mirate la dottrimna che s'asconde dietro il velame delli versi strani".

  3. #3
    e spedisci anche all'utente un dispositivo hardware per verificare le sue impronte digitali??
    Mi sembra macchinosetto come sistema, e poi a cosa ti serve fare l'hash della password via js?
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  4. #4
    Utente di HTML.it L'avatar di grisson
    Registrato dal
    Jul 2006
    Messaggi
    166
    Originariamente inviato da mxa
    e poi a cosa ti serve fare l'hash della password via js?
    a non inviare la password in chiaro...

    ok per hashare la psw assieme alla stringa casuale concatenata... ma veramente quello che interessa di piu a me è la seconda parte, cioè da quando i dati del login arrivano sul server... cioè, una gestione del genere è una cavolata o può funzionare?

  5. #5
    Ciao.

    Dai un occhio pure qui

    Sto implementando una classe per il login

    Ti dico le cose che faccio
    tralascio il js.

    Controllo pass e username
    (la select ha limit 1)
    se ottengo un record
    faccio l'update del campo random uid
    lo salvo in una sessione
    faccio una query con il where=uid
    e lo uso in tutto lo script
    sistema per slogare dopo un cero lasso di tempo
    per il logout setto uid a null e unset la session

    una cosa che sto provando a fare
    è questa

    $_SESSION['id']=hash
    $_SESSION[$_SESSION['id']]=hash
    su quest'ultimo faccio la query

    si può aggiungere la validazione sia
    dell'input sia delle sessions

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6
    PS
    La scerei perdere il session_id userei
    solo l'hash con session-regenerate-id

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

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.