3

私はセッションとCookieに関してインターネット上で多くの調査を行ってきましたが、Cookieが無効になっている場合、セッションに影響を与えないという議論があります。

それでも、Cookieをクリアするたびに、セッション変数もクリアされるようです。また、いくつかのWebサイトで、セッションが実際にCookieでクリアされる必要があることを読みました。

誰かが私にこれを説明してもらえますか?

4

5 に答える 5

5

可能であれば、phpはセッションIDをCookieに保存します。ブラウザがそれを拒否した場合、ブラウザはクエリ文字列とともにセッションIDを伝達します。

Cookieを強制終了し、クエリ文字列の調整が行われなかった場合、phpはあなたが誰であるかを忘れます!

ただし、Cookieの使用はhttp://de2.php.net/manual/en/session.configuration.php#ini.session.use-cookiesで無効にできます。

于 2012-04-06T21:34:04.563 に答える
0

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

于 2012-04-06T21:33:24.470 に答える
0

必要に応じて、CookieではなくgetでPHPSESSIDを強制的に使用できます。デフォルトのCookieはCookieです。

于 2012-04-06T21:35:19.800 に答える
0

セッションでは、有効期限が近い(場合によってはマイナスの)Cookieを保存することでCookieを利用します。PHPでは、このCookieはデフォルトで名前の下にありPHPSESSIDます。session_startユーザーと関連するセッション情報をロードして関連付ける/識別するには、実行時にPHPの関数を使用する必要があります。

セッションは特殊なタイプのCookieによるCookieのクリアであるため(Cookieが無効になっている場合でも)、セッションIDが失われ、セッションがリセットされる可能性があります。

これは、PHPセッションの背後にある謎を解明する素晴らしい記事です。

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

于 2012-04-06T21:37:05.197 に答える
0

セッションが終了したことをクリアすると、PHPはデフォルトでセッションIDをCookie内に保存します。

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

于 2012-04-06T21:37:09.403 に答える