BLOGスタッフブログ

PHPのセッションIDのアルゴリズム設定について(その2)

システムエンジニアの大貫です。

前回、PHPのセッションID生成のアルゴリズムの設定について触れましたので、さらに深くセッションIDについて、調べてみました。

するとPHPのセッションIDとは、「現在時刻」や「IPアドレス」、「線形合同法による疑似乱数」のみを使用して作成しているので、「完全に推測不可能では無い」との事でした。

そこで、前回に引き続き「php.ini」の設定を見なおす必要があります!

 

session.entropy_file」を設定することで、上記のセッションID生成時キーに加えて、指定したファイルの値をキーとして追加出来るそうです。
そして、「session.entropy_length」で、「session.entropy_file」から読み取るバイト数を指定します。

上記の内容を踏まえて、以下のように設定を行うと、「/dev/urandom」で生成した擬似乱数を32バイト分、PHPのセッションIDを生成する際のキーとして追加する事ができるので、

よりセキュリティ性の高い推測不可能なセッションIDになります。

 

【セッションID生成時の乱数キーの設定】
session.entropy_file = /dev/urandom
session.entropy_length = 32

 

大貫 晃一が書いた他の記事

見積もり・ご依頼など、
お気軽にご相談ください

本サイトはユーザーエクスペリエンスの向上などを目的に、Cookieを使用しています。
右記のバナーで「同意する」をクリックする、または本サイトを利用することにより、
お客様は弊社のCookieポリシーに同意したことになります。

同意します