È sicuro usare lo store locale per memorizzare variabili di sessione e password utente? [chiuso]

1

Sto provando a creare un'applicazione web in Java con un sistema di login / sessione usando com.sun.net.httpserver e, per quanto ne so, non ha un metodo integrato per questo. Quindi, ho avuto la seguente idea:

  1. L'utente tenta di accedere utilizzando un modulo nel metodo POST.
  2. Accedi con successo
  3. Il server genera una stringa ID sessione univoca e la invia al client, che crea un Hashmap con KEY = ID sessione e valore = Oggetto utente.
  4. Il client memorizza l'ID sessione univoco, il nome utente e la password utilizzando HTML 5 localStorage.
  5. A ogni richiesta, il client invia SessionID, nome utente e password e il server controlla se tutto corrisponde.

Quindi, ecco la mia domanda: questo metodo è sicuro?

    
posta zearthur99 18.04.2014 - 18:00
fonte

1 risposta

1

No, questo non è sicuro e certamente non lo consiglierei. Tuttavia, esistono diversi metodi che soddisfano i tuoi requisiti (e altro).

Suggerisco di dare un'occhiata a OAuth 2.0 . I servizi protetti OAuth richiedono un token di accesso valido nell'intestazione Authorization delle richieste HTTP. Tale token deve prima essere ottenuto da un provider di identità, di solito un terzo server.

Questo elimina la necessità di memorizzare le credenziali dell'utente nell'applicazione client, il browser nel tuo caso. Inoltre, i token hanno una validità limitata: dopo un certo periodo di tempo, deve essere presentato un nuovo token di accesso. OAuth ha un meccanismo per farlo, senza dover richiedere nuovamente le credenziali dell'utente: quando viene richiesto un token di accesso, nella risposta viene incluso un token di aggiornamento . Il token di aggiornamento ha una validità più lunga e può essere utilizzato per ottenere un nuovo token di accesso.

    
risposta data 18.04.2014 - 19:02
fonte

Leggi altre domande sui tag