[WordPress] session_start();でCookie セッションIDを発行する
はじめに
前回のPoundの記事でリバースプロキシについて説明しました。今後、Poundを使ったCookieベースのセッション維持(パーシステンス)の機能を検証したいため、バックエンドサーバとなるWordPressサーバでCookie セッションIDを発行する設定をします。
CookieセッションIDを発行することでクライアントのブラウザにCookieが記憶され、次回のリクエストもそのCookieを付与してアクセスします。
PoundのCookieベースのセッション維持(パーシステンス)については次回説明しますが、CookieとセッションIDはステートレス(状態を記憶しない)なHTTPにサーバのアプリ上で状態を把握する為の仕組みです。
例えば会員制のECサイト等では、ユーザの状態(ログイン状態や買い物かごの状態等)を常に管理する必要があります。そこでユーザがログインした際にサーバはユニークなCookieを発行し、サーバはユーザとセッションIDを紐づけし状態管理を開始します。ログイン後のリクエストはそのCookieが付与されてくるのでサーバはセッションIDをもとにユーザのログイン状態や買い物かごに何が入っているのか、等の状態を管理することができるようになります。
今回、PHPの「session_start();」関数を使います。「session_start();」を使うとサーバ側で「PHPSESSID」というデフォルトで値が一意なCookieを発行します。
設定内容
当方のWordPress環境でCookieによるセッションIDの設定をします。テーマのfunctions.phpの下部に以下の設定をします。
function init_session_start(){
session_start();
}
add_action('template_redirect', 'init_session_start');
ファンクションフックの「template_redirect」はページを開いた最初のタイミングを指定することができます。つまり当方のブログを開いた際に「PHPSESSID」というCookieを発行します。
確認
ブログサーバにアクセスし、Chromeの開発モードからデベロッパーツール(Windowsの場合F12キー)からCookie情報を確認します。すると『PHPSESSID』が付与されていることがわかります。これでセッションIDの発行ができていることが確認できました。
以上、セッションIDの発行方法でした。
ディスカッション
コメント一覧
まだ、コメントがありません