2012-04-04 18 views
5

Durante il riavvio del dispositivo Android (attivazione kindle) o la chiusura di un'applicazione, sembra che i cookie di "sessione" del browser o di WebView non vengano eliminati. Questo sembra essere molto diverso dal comportamento dei browser su Windows o MacOS in cui i cookie di "sessione" sono andati se si uccide l'applicazione browser. Solo i cookie 'permanenti' dovrebbero essere mantenuti dopo il riavvio del processo del browser. Per chiarire, il significato di "cookie di sessione" qui è un cookie impostato dal server senza data di scadenza, utilizzando l'intestazione http nella risposta, come ad esempio: Set-Cookie: mycookie = ifmr0846qcsdpeqqkgvuqmc5u7; percorso =/ Poiché non è specificata alcuna data di scadenza, i browser in genere non mantengono tali dati, li mantengono in vita fino a quando il processo non viene terminato, in base alla mia comprensione. In genere gli ID di sessione vengono impostati utilizzando questo tipo di cookie.android webview o browser che non elimina i cookie di sessione al riavvio del dispositivo

Sono convinto che coloro che non vengono eliminati al riavvio del dispositivo, o riavviare app perché se accedo al mio sito web, stabilendo una sessione (utilizzando cookie di non persistenti/'session' per l'id di sessione, di nome PHPSESSID in quel caso), quindi riavviare il dispositivo e aprire il browser o WebView allo stesso URL, sono ancora connesso, il che significa che il browser ha ancora inviato lo stesso cookie PHPSESSID impostato dal server prima del riavvio del dispositivo.

Qualcuno potrebbe spiegare/confermare questo comportamento per Android WebViews o browser? Come gestiscono esattamente i cookie di sessione e persistenti?

grazie.

risposta

-1

È corretto, i cookie di sessione non scadono automaticamente nel ciclo di vita di un WebView. Se stai riscontrando problemi con questo, puoi sempre cancellare tutti i tuoi cookie o sovrascrivere i tuoi cookie di sessione esplicitamente con un valore vuoto .

di riferimento: Lifecycle of a session cookie in an Android WebView/CookieSyncManager

per cancellare l'uso sessione

CookieManager.getInstance().removeSessionCookie(); 
CookieManager.getInstance().removeAllCookie(); 
Problemi correlati