Help us understand the problem. What is going on with this article?

PHPセッション

セッションとは

  • サーバ側に一時的にデータを保存する仕組み

セッションの保持方法

セッションを維持する方法は以下の2つ

  • セッションIDをURLパラメータで渡す
  • ブラウザのCookieに保存する

前者では画面を見ただけでセッションIDを盗まれてしまい、ユーザのなりすましに遭うため、非推奨。
後者がデフォルトで有効になっている。
php.iniでいうと、項目名はsession.use_cookiesで、値はデフォルトで1(有効)

ブラウザのCookieに保存する

ログインの機能で使われる。
イメージでいうと

  1. ログインすることで、ユーザの情報がサーバ側に送られる <- セッションでユーザのデータを保存する
  2. サーバから整理番号を付与される <- セッションIDがクッキーに保存される
  3. ページを遷移してもログインしている状態が続く <- ページにアクセスする度に整理番号(クッキーに保存されたセッションID)をサーバに見せている

セッションIDがクッキーに保存されるとき通常はkeyがPHPSESSIDでvalueはランダムな英数字
このkey名を変更するにはphp.iniに以下の設定をする
session.name=hoge1234
ブラウザに保存されているセッションのkey名を取得するにはsession_name()を使う。
ブラウザに保存されているセッションの情報を取得するにはsession_get_cookie_paramsを使う。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした