Domanda

Guardando i cookie di Gmail è facile vedere ciò che è memorizzato nel cookie "ricordati di me". Il nome utente / one-time-access-token. Potrebbe essere implementata in modo diverso nei casi in cui il nome utente è segreto, pure. Ma qualunque cosa ... la cosa non è molto alta sicurezza:. Rubi il cookie e si è pronti ad andare

La mia domanda è sul lato funzionale, però: quando si fa a pulire i loro gettoni di accesso? Se un utente accede a senza facendo clic su "ricordati di me" su un'altra macchina, dovrebbe invalidare i gettoni di accesso sulla tutte le macchine ? Sto chiedendo a come questo è tradizionalmente implementato, e anche come si dovrebbe essere attuato.

È stato utile?

Soluzione

Io uso regolarmente 2 o 3 macchine contemporaneamente, e hanno "ricordati di me" su ognuna di esse. Se uno di loro scollegato gli altri che sarebbe molto fastidioso, quindi non lo consiglio.

Tradizionalmente si userebbe un time-out, il cookie scade dopo un certo periodo di tempo (o quando l'utente esegue la disconnessione).

Tutto dipende dal vostro modello di sicurezza. Se si sta scrivendo un'applicazione interna società in cui si aspetta sempre e solo un utente di essere su un computer, allora si potrebbe desiderare di avere restrizioni più severe rispetto a Gmail.

Inoltre, tenere a mente la possibilità di Denial of Service -. Se un'azione su una macchina in grado di forzare un'altra macchina per essere inutilizzabile questo potrebbe essere l'uso per evitare che un utente legittimo di assumere il controllo di nuovo in determinati scenari

Altri suggerimenti

Gli articoli persistente Accesso Best Practice e migliorata Persistent Accesso Best Practice sono ottimi riferimenti su come implementare questo tipo di funzionalità.

Si veda anche queste domande StackOverflow

accede da un'altra macchina non dovrebbe invalidare il login associato a un biscotto su una macchina diversa. Tuttavia, se gli utenti logsout o "no? Login qui" questo dovrebbe cancellare il cookie sul quale l'utente sta lavorando.

A proposito di rubare un cookie può essere fatto duro, insistendo sulla https e rendendo se non fosse per lo scripting.

Con l'aggiunta di "; HttpOnly". Al fuori messo del vostro biscotto questo renderà il cookie non disponibile per javascript per esempio

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/7.0
Set-Cookie: ASP.NET_SessionId=ig2fac55; path=/; HttpOnly
X-AspNet-Version: 2.0.50727
Set-Cookie: user=t=bfabf0b1c1133a822; path=/; HttpOnly
X-Powered-By: ASP.NET
Date: Tue, 26 Aug 2008 10:51:08 GMT
Content-Length: 2838

si può leggere di più su questo

Il cookie ricordati di me dovrebbe identificare la macchina pure. Dovrebbe essere collegato alla macchina, perché ci sono luoghi in cui si desidera essere ricordato e altri luoghi in cui non si (casa vs lavoro).

La data di scadenza è impostato di solito per un periodo di tempo ragionevole (due settimane) o dopo che l'utente ha esplicitamente disconnesso dalla macchina,

Quello che vorrei fare è collegare ogni sessione a un indirizzo IP. Se il token di una sessione viene inviato da un IP diverso da quello che avete per questo, respingerlo.

I token di accesso dovrebbero essere IP specifico in modo che essi non possono essere facilmente trasferiti attraverso le macchine.

Essi dovrebbero anche essere implementati in un modo che consente agli utenti di vedere ciò che le macchine hanno gettoni attivi su.

I siti che scelgono di uccidere un gettone volta uno nuovo è stato creato su un altro computer - fare la scelta che i loro utenti non accedere al proprio servizio su più computer - o se lo fanno - che il loro utilizzo giustifica rendendoli nuovamente il login.

La politica si impiegano molto dipende dai dati che avete in mano e le esigenze degli utenti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top