0

私はphpの初心者です。

ログイン後にユーザーのセッション変数を作成できることを知りました。

$_SESSION['id']=****some value(say 3)******;

このセッション変数は、ログアウトしない限り維持されます (つまり、session_destroy を使用してこのセッション変数をクリアします)。

idここで、別のユーザーがログインした場合、この変数が上書きされて前のユーザーがログアウトされないという混乱がありますか? これが本当なら、それを解決するために何ができますか?

4

2 に答える 2

1

PHP セッションは、ユーザーに対して session_start() を初めて呼び出したときに生成される一意の (ランダムな) ID 文字列によってユーザーに関連付けられます。その ID はクライアント ブラウザに Cookie として保存されます (または非表示のフォーム フィールド/クエリ パラメータを介して保存される場合もあります)。

コード全体で $_SESSION が使用されていますが、その $_SESSION 配列の CONTENTS は、その ID 文字列を介して特定のユーザーに関連付けられています。つまり、あなたのサイトにアクセスすると、$_SESSION に私の詳細が含まれます。サイトにアクセスすると、 $_SESSION に詳細が含まれます。

私の詳細があなたのセッションで「漏れる」、またはその逆の実際的な方法はないはずです。あなたのセッションは完全に異なるセッションであり、異なる ID を持っているため、私のセッションを破棄してもあなたのセッションは破棄されません。

于 2013-06-24T16:02:39.187 に答える
0

すべてのセッションは一意のセッション IDに関連付けられています。これは通常、ユーザーの Cookie 内に設定されます。

于 2013-06-24T16:01:14.660 に答える