Sto lavorando su una grande applicazione web che gira interamente all'interno di una singola pagina web. Per varie ragioni, non intendiamo utilizzare i cookie in questa applicazione Web, ma dobbiamo tenere traccia del fatto che un utente sia attualmente connesso o meno. Tutte le nostre connessioni sono su SSL. Ecco come intendiamo tenere traccia delle sessioni:
Con ogni risposta inviata dal server, invia un token di sessione.
Il token di sessione è una stringa crittografata che contiene quanto segue:
- L'ID utente
- Un SessionID
- A salt (generato casualmente ogni volta)
- Una data / ora corrente
- Una data e ora di scadenza, esattamente mezz'ora dopo la data / ora corrente
Quando il client invia una richiesta, deve anche inviare questo token di sessione. Il token viene decodificato e i timestamp vengono controllati per vedere se sono a una distanza di mezz'ora e che l'ora corrente è compresa tra i due timestamp. In tal caso, la richiesta viene elaborata, utilizzando l'ID utente per identificare chi ha effettuato la richiesta. In caso contrario, la richiesta non viene elaborata e viene inviata una risposta che comunica al client di registrare l'utente.
Questo sistema ci lascerà terribilmente vulnerabile alle persone che si identificano erroneamente come utenti? Vedi altri problemi con questo?