-1

セッション固定が実際にどのように機能するかを誰かに説明してもらえますか? 私のローカルホストサーバーでは、次のコードでファイルをアップロードしました:

<?php
 session_start();
 if (!isset($_SESSION['count'])) $_SESSION['count'] = 0;
 else ++$_SESSION['count'];
 echo $_SESSION['count'];
?>

私は自分のブラウザアドレスに設定しました:http://localhost/sessiontest.php?PHPSESSID=1234 それは0の書き込みから始まり、更新ボタンを数回押すと1、2、3、4になります...以前読んだ本やインターネットのトピックでは、そこに書かれていました別のブラウザまたは別の PC のブラウザでこのアドレスを使用すると、最初のブラウザが終了した番号 mz が表示されます。しかし、このアドレスを 2 台目の PC に入力すると、0 から始まっていました。

より高いバージョンのApacheとPHPで何らかの形で保護されているのでしょうか、それともトピックを完全に誤解していましたか? 手伝ってくれてありがとう!

4

1 に答える 1

1

誤解されているのではないかと思います。PHP は、PHPSESSID を使用してセッションの ID を保存します。通常、この値は Cookie に保存されますが、Cookie が無効になっている場合は URL に保存することもできます。

あるブラウザーで URL (または Cookie) の値を読み取ると、その値を別のブラウザーの URL で使用して、そのセッションを効果的に引き継ぐことができます。これは、PHP が情報を追跡せず、そのセッション ID を使用してセッションを識別するためです。

あなたの場合、Cookieも有効になっていると思うので、PHPはURL値ではなく保存されたCookieを使用します。最初に Cookie の削除を試みるか、Cookie を完全に無効にしてこの URL を使用するか、Cookie の値を変更することができます。

于 2013-08-04T14:01:21.060 に答える