0

ブラウザに送信され、認証のために返される、いわゆるセッション ID のアイデアが気に入っています。しかし、後続のセッションがアクセスできるように、サーバー側のセッション変数にさらにデータを保存できますか? 私はPHPを使用しています。

4

3 に答える 3

10

セッション変数はサーバー側に保存されます。セッション ID のみがクライアントから返されます。サーバーは ID のセッション ストアを検索し、変数をフェッチします。実際の変数はクライアントにまったく送信されません。これは、ユーザーの状態を追跡するためにサーバーに依存しているため、スケーラブルな Web アプリケーションにとってセッション状態は悪夢です。セッションに入れるものが多いほど、サーバー上でのセッションごとのオーバーヘッドが大きくなります。

クライアント自体に変数を保存する場合は、セッションの代わりに Cookie を使用する必要があります。

于 2009-09-29T20:39:52.047 に答える
2

はい。デフォルトの php インストールのセッション ID は、実際にはすべてのセッション データを保持するサーバー上のファイルに対応しています。セッション ID は、一意のユーザーの単なる識別子です。通常、セッション ID は Cookie に保存されます。

PHP でセッションにより多くのデータを保存するには、次のようにします。

--set.php--
session_start();
$_SESSION['var1'] = 'foo';
$_SESSION['var2'] = 'bar';

--look.php--
print_r($_SESSION); // prints Array (var1 => foo, var2=>bar)
于 2009-09-29T20:40:39.003 に答える
1

いいえ、私が理解しているように、転送されるのは Cookie を介したセッション ID だけです。

于 2009-09-29T20:41:46.833 に答える