5

一部のブラウザー (Firefox、Chrome) は、設計上、セッション Cookie を閉じたときに消去されません。これは、何らかの種類の記憶スイッチを設定した場合です (たとえば、FF で [オプション] -> [一般] -> [Firefox の起動時] -> [ウィンドウを表示] に移動します)。と前回のタブ)。これはクライアント (政府機関...) にとっては問題ですが、私は http サーバーを完全に制御できますが、ブラウザーの設定を制御することはできません。シナリオは、コンピューター アカウントを共有するために使用されますが、Web アカウントを共有することはできません。ブラウザーを閉じるだけでセッションが終了し、ブラウザーの設定は気にしません。

それを強制するエレガントな方法はありますか?

現在、私の頭に浮かぶ唯一の解決策は、ある種の死んだ男のスイッチです(Cookieを1分間だけ有効にする(暗号化されたサーバー側のタイムスタンプ)、すべてのページに20分間30分ごとにpingを実行するjavascript「pinger」がありますサーバー上のいくつかの「セッションの延長」ハンドラー (ログイン セッションは 20 分で、有効期限はスライドする必要があります)。

4

2 に答える 2

0

HTML5s sessionStorage を使用してみてください。これは、ページ セッションの期間中持続します。ページ セッションは、ブラウザーが開いている限り持続し、ページのリロードや復元後も存続します。新しいタブまたはウィンドウでページを開くと、新しいセッションが開始されます。

sessionStorage.setItem("ユーザー名", "ジョン");

https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage#sessionStorage

ブラウザの互換性 https://code.google.com/p/sessionstorage/ iPhone または Android を含むすべての A グレードのブラウザと互換性があります。 http://www.nczonline.net/blog/2009/07/21/introduction-to-sessionstorage/

于 2014-03-12T08:01:01.067 に答える