セッション ID は、バレット キーなどのサーバー側のセッション情報を識別するために使用されます。有効な ID が (何らかの手段で) 渡されると、PHP はデータにアクセスできるようになります。
セッションは、ユーザー認証の詳細を格納する手段としてよく使用されます。サイトへのサインインに成功したら、セッションを開始してユーザー データを保存し、その後のページ ビューで個人情報の使用を許可するかどうかを決定できます。
たとえば、ログイン後は次のようになります。
session_start();
session_regenerate_id(true); // avoid trivial session fixation
$_SESSION['valid'] = true;
$_SESSION['user_id'] = 123; // identify the user
// whatever else you want to add in your session
header('Location: /index.php'); // redirect the user after signing in
は$_SESSION['valid']
、セッション採用攻撃を防ぐトークンです。ただし、これを使用session_regenerate_id
すると、それほど重要ではなくなります。以降のページ ビューでは、次のコードを記述して、セッションが有効であり、ユーザーがサインインしているかどうかを確認できます。
session_start();
if (!isset($_SESSION['valid'])) {
die("Invalid session");
}
// do stuff with $_SESSION['user_id']
セッション ID は、主に 2 つの方法で渡すことができます: Cookie 経由 (一般的) または経由$_GET
(あまり一般的ではありません)。セッション ID がどのように渡されるかは、.ini 設定によって決まります。
- session.use_cookies (Cookie を使用するかどうか)
- session.use_only_cookies (Cookie のみを許可するかどうか、経由で渡されないかどうか
_GET
)
詳細はこちら: http://sg.php.net/manual/en/session.configuration.php