2012-04-06 9 views
3

私はセッションやクッキーに関してインターネット上で多くの研究をしてきました。私が引き続き出てくるセッションの議論は、クッキーが無効になってもセッションには影響しません。クッキーをクリアするとPHPのセッション変数がなくなった

まだ、クリアCookieのセッション変数もクリアされるようです。また、いくつかのウェブサイトで、セッションが実際にクッキーでクリアされるべきであることを読んだ。

誰かが私にこれを説明できますか?

答えて

5

可能なPHPがそのセッションIDをクッキーに保存する場合。ブラウザがそれを拒否した場合、クエリ文字列とともにセッションIDが渡されます。

クッキーを削除してもクエリ文字列の調整が行われなかった場合、phpはあなたの人物を忘れてしまいます!

ただし、クッキーの使用を無効にすることができ

http://de2.php.net/manual/en/session.configuration.php#ini.session.use-cookies

+0

あなたの解決策を試しましたが、同じ問題がまだありましたが、あなたのリンクをチェックアウトしたとき、session.use_only_cookiesはPHP 5.3.0以降デフォルトで1に設定されています。どうもありがとうございました! – Zizo47

0

あなたは間違っています。セッションはクッキーに依存します。ページをリクエストすると、セッションUIDを含むCookieがサーバーに送信されます。クッキーをクリアすると、セッションが失われます。

0

あなたがしたい場合は、GETではなく、クッキーにPHP SESS IDを使用して強制することができ、デフォルトのクッキー

0

セッションは保存することにより、クッキーを利用しています近い将来の(または場合によっては負の)有効期限を持つクッキー。 PHPでは、このクッキーはデフォルトでPHPSESSIDという名前で検索されます。 PHPでsession_start関数を使用することは、実行時にユーザと関連セッション情報を読み込み、関連付ける/識別するために必要です。

セッションはクッキーのクッキーを消去する特殊なタイプなので(クッキーが無効になっていても)、セッション識別子が失われてセッションがリセットされる可能性があります。

これはPHPセッションの背後にあるすべての謎をクリア素晴らしい記事です:あなたは明確なセッションがなくなっている場合

http://justinmccormick.com/wp/programming/php-sessions-explained

0

PHPは、デフォルトあたりのクッキー内のセッションIDを格納します。

session.use_trans_sidを有効にすることができます。そうすれば、PHPはURLにセッションIDを追加します。 (しかし私はそれをお勧めしません)

関連する問題