セッション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のは、主に二つの方法で渡すことができます(一般的な)クッキーを介して、または$_GET
を経由して(あまり一般的ではありません)。どのようにセッションIDの.INI設定によって決定され渡されます
(のみ
_GET
を経由して渡されていないクッキーを許可するかどうか)
session.use_only_cookiesを(すべてのクッキーを使用するかどうか) もっとここで読む:http://sg.php.net/manual/en/session.configuration.php
トークンセッションIDが設定されていない場合は、ページにアクセスしません。 –
セッションIDを使用しているかどうか、またはセッションIDもっとそれに? – hellomello
[セッショントークンの可能な複製 - どのように動作しますか?](http://stackoverflow.com/questions/5009954/session-token-how-does-it-work) – Gordon