Learning site for website creation

PHP:セッションの有効期限を短くする

公開日:2022年01月27日

「php.ini」を使用して有効期限を短くする

クッキーの有効期限設定

変更前

「0」はブラウザを閉じるまでクッキーが有効。

session.cookie_lifetime=0

変更後

セッションで使用しているクッキーを指定秒数で削除する。

session.cookie_lifetime=クッキーの有効秒数

セッションファイルを削除するタイミング

変更前

有効期限切れのセッションファイルを削除する(ガベージコレクションを実行する)タイミングを指定。

以下はsession_start関数が実行された時、1/1000の確率で有効期限切れのセッションファイルを削除します。

session.gc_probability=1
session.gc_divisor=1000

※「gc」は「garbage collection」の略、PHPがもつ「ごみ箱」のような機能

変更後

session_start関数が実行された時、1/1の確率・・・つまり確実に有効期限切れのセッションファイルを削除します。

session.gc_probability=1
session.gc_divisor=1

セッションファイルの有効期限を変更

変更前

セッションファイルの有効期限を秒数で指定します。初期値は1440秒(24分)です。

ただし、ガベージコレクションが動いたタイミングで削除されるので24分後に確実に削除されるとは限りません。

session.gc_maxlifetime=1440

変更後

session.gc_maxlifetime=セッションファイルの有効秒数

以上、設定変更後にApacheを再起動して設定を有効にする。