5

Android デバイスを再起動 (Kindle Fire) するか、アプリケーションを強制終了すると、ブラウザまたは WebView の「セッション」Cookie が削除されないようです。これは、ブラウザ アプリケーションを強制終了すると「セッション」Cookie がなくなる Windows または MacOS 上のブラウザの動作とはかなり異なるようです。ブラウザ プロセスの再起動後は、「永続的な」Cookie のみを保持する必要があります。明確にするために、ここでの「セッション Cookie」の意味は、次のような応答で http ヘッダーを使用して、サーバーによって設定された有効期限のない Cookie です。path=/ 有効期限が指定されていないため、ブラウザーは通常、それらを永続化せず、私の理解に基づいて、プロセスが強制終了されるまで有効に保ちます。通常、セッション ID は、このタイプの Cookie を使用して設定されます。

デバイスの再起動またはアプリの再起動時にそれらが削除されないことを確信しています。これは、Web サイトにログインしてセッションを確立し (セッション ID に非永続/「セッション」Cookie を使用し、その場合は PHPSESSID という名前)、再起動するためです。デバイスを開き、ブラウザーまたは WebView を同じ URL に開いても、まだログインしています。つまり、ブラウザーは、デバイスの再起動前にサーバーによって設定された同じ PHPSESSID Cookie をまだ送信していることを意味します。

Android WebViewsまたはブラウザでこの動作を説明/確認できますか? セッション Cookie と永続 Cookie を正確に管理するにはどうすればよいでしょうか。

ありがとう。

4

1 に答える 1

-1

おっしゃるとおり、WebView のライフサイクル中にセッション Cookie が自動的に期限切れになることはありません。これに問題がある場合は、いつでもすべての Cookie をクリアするか、セッション Cookie を空の値で明示的に上書きできます。

参照 : Android WebView / CookieSyncManager でのセッション Cookie のライフサイクル

セッションの使用をクリアするには

CookieManager.getInstance().removeSessionCookie();
CookieManager.getInstance().removeAllCookie();
于 2014-11-22T14:10:38.047 に答える