2012-01-03 4 views
3

は、私は彼らのブラウザを閉じたときに自動的をログアウトされ、当社の認証されたユーザーを作成しようとしています。私は次のコードを記述します。そのためにFirefoxではsession.cookie_lifetimeが機能していませんか?私<strong>Zendのアプリケーション</strong>で

ini_set('session.cookie_lifetime', 0);

とそのがクローム、サファリ、IE7とIE8などのブラウザで正常に動作しますが、Firefoxの場合でを、ユーザーがまだ残っていますブラウザを閉じるとログオンします。

誰でも問題の原因を知っていますか? 「セッション」は終わったとブラウザが閉じられたときに、ブラウザ破壊しなければならない、すなわち1 - 0

事前に感謝しますが...

答えて

3

値は「セッションクッキー」を示しています。しかし

  • 異なるブラウザは、「セッション」はまさにの異なる解釈を持っている - あなたは、ウィンドウを閉じたとき、あなたの近くにタブが、いくつかは、いくつかは破壊しないだろうとき、いくつかは、これらのクッキーを破壊しますブラウザのすべてのインスタンスが閉じられるまでのクッキー - すべてのウィンドウのすべてのタブ。
  • クッキーはクライアントによって保存され、送信されるため、クッキーは完全にクライアントの責任です。ユーザーが有効なログインをしているかどうかを制御するために、Cookieだけに頼るべきではありません。なぜなら、彼らはばかげて簡単にスプーフィングすることができないからです。

テストするとき、あなたが実際にあなたのFirefoxのセッションを終了していることを確認します - すべての開いているタブやウィンドウ近く、そして左インスタンスがないことを確認するためのプロセスの一覧を見ます。まだ問題がある場合は、おそらくFirefoxの何らかのバグを見ているかもしれません(またはabout:configに変わったことがあります)。Firefox固有のヘルプを要求する必要があります。SuperUser.comはより良い場所になりますそれ。あなたがかなり確信で​​きることの1つは、他の場所で動作するならば、あなたのPHPには問題ではないということです。

関連する問題