勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

Cookieをできるだけ長い期間保存する方法

   2022/12/02  PHP

あるシステムの中でCookieを可能な限り長い期間保存したいというリクエストを受けた。有効期限の最大値は知らなかったので調べてみると2038年までらしい。以下に対応方法等をメモ。

 

ソースコード

$expires = 2147483647; //2038-01-19 12:14:07のUNIXタイムスタンプ
setcookie('name', 'value', $expires, '/');

 

なぜ2038年までなのか

2038年1月19日3時14分7秒を過ぎるとコンピュータが誤作動する可能性があるとされる2038年問題の影響らしい。2038年問題についてはこちらのページが分かりやすかった。

 

所感

普段Cookieを発行する際、保存期間は長くても1ヶ月とかが多かった。今回のようなケースは初めてだったので勉強になった。

 - PHP

  関連記事

PHPにて西暦から干支(十二支)を計算し表示する方法
PHPにて西暦から干支(十二支)を計算し表示する方法

先日MySQLにてSELECT時にdate型のカラムから干支(十二支)を計算し表 ...

MySQLで使用するインデックスを指定する
MySQLで使用するインデックスを指定する

ちゃんと指定してるのにインデックスが使用されていない場合、 オプティマイザに知ら ...

PHPでお問い合わせ等のform構築時にCSRF対策を行う方法
PHPでお問い合わせ等のform構築時にCSRF対策を行う方法

他社が制作されたお問い合わせフォームを改修する案件があった。ソースコードを拝見し ...

Codeigniter4で独自・外部ライブラリの作成と呼び出し方法
Codeigniter4で独自・外部ライブラリの作成と呼び出し方法

Codeigniter4で独自ライブラリを作成し、コントローラー側で呼び出したい ...

PHPにて「hashids(Sqids)」ライブラリで数値からユニークなランダム英数字のIDに変換する方法
PHPにて「hashids(Sqids)」ライブラリで数値からユニークなランダム英数字のIDに変換する方法

PHPにてユーザID等を推測されないよう数値のIDからユニークなランダム英数字の ...