Posso utilizzare un unico ID di sessione permanente per tutti i dispositivi di un utente?

0

Sto lavorando a un progetto in cui gli utenti possono pubblicare. Quando un utente effettua il login e la password è corretta, li registra e controlla il database. Se hanno un ID di sessione, lo restituisce, in caso contrario crea un nuovo ID di sessione e lo restituisce. Se si collegano di nuovo da qualche altra parte, come il loro telefono, fa lo stesso; se un ID di sessione si risolve, restituisce la sessione.

La mia domanda è, è sicuro? Se ogni dispositivo con cui si accede ha un ID di sessione separato? L'unica volta che cancello l'ID di sessione è quando la password è cambiata.

    
posta Dan 25.04.2018 - 02:27
fonte

1 risposta

2

TL; DR: No, non sicuro.

Avere un ID separato per ogni dispositivo è importante, perché se gli dai lo stesso, non c'è nulla che impedisca al dispositivo di ricordarlo dopo che l'utente si è disconnesso.

Ancora più importante, solo la modifica dell'ID di sessione quando gli utenti modificano la password è catastroficamente negativa. L'ID può essere rubato molto più facilmente di una password. Le sessioni dovrebbero avere scadenza, altrimenti è necessario prendere in considerazione una considerazione particolare, ad esempio consentire agli utenti di disconnettersi da dispositivi a cui non hanno più accesso.

PS: suppongo anche che i tuoi ID di sessione siano casuali. Se sono sequenziali, è necessario anche un qualche tipo di token / segreto per l'autenticazione, altrimenti un utente malintenzionato può semplicemente esaminare tutti gli ID e acquisire i dati. Si noti che l'utilizzo di ID casuali può essere preferibile, in quanto gli utenti malintenzionati possono ancora ottenere alcune informazioni, come il numero di utenti registrati, se gli ID non sono casuali. Puoi usare il segreto oltre all'ID casuale, non puoi ferire e può aiutarti, quindi perché no?

    
risposta data 25.04.2018 - 02:55
fonte

Leggi altre domande sui tag