session.entropy_file / session.entropy_length

セッションsession.entropy_file

session.entropy_fileとは?

 状態:-  閲覧数:2,044  投稿日:2016-04-14  更新日:2016-04-14  
ベースに利用される乱数(IPアドレス, 現在時刻, 線形合同法による疑似乱数 を組み合わせたもの)に追加して、乱数発生源とするファイル

session.entropy_file でファイル指定すると?
・php はこのファイルから session.entropy_length バイト分読み込み、それもエントロピーソースとして利用
→ PHP のセッション ID をより安全にする


session.entropy_length


entropy_file から取得する乱数の長さを指定
・デフォルト 0(無効)

php のセッションID と エントロピーソース

session.entropy_fileデフォルト設定値

 閲覧数:607 投稿日:2016-04-14 更新日:2016-04-14 

バージョンにより異なる


PHP 5.4.0 以降
・/dev/urandom あるいは /dev/arandom (使用可能な場合)

PHP 5.4.0 未満
・空

実行時設定



/dev/random


OS が提供するセキュアな疑似乱数生成器
・Unix系オペレーティングシステム (OS) における擬似デバイスの一種
・乱数生成器として機能する

具体例

 閲覧数:532 投稿日:2016-04-14 更新日:2016-04-14 
「/dev/urandom」で生成した擬似乱数を、PHPのセッションIDを生成する際のキーとして512バイト分追加
・よりセキュリティ性の高い「推測不可能なセッションID」となる
ini_set('session.entropy_file', '/dev/urandom');

ini_set('session.entropy_length' ,512);



コメント投稿(ログインが必要)



週間人気ページランキング / 12-25 → 12-31
順位 ページタイトル抜粋 アクセス数
1 Notice(エラーメッセージ) カテゴリー 4
2 PHPにおけるメソッドのオーバーライドについて /「引数の数や型は、親クラスのメソッドと完全に一致していなければなりません。」とは具体的にどういう意味ですか? 3
2 PHPで定数を定義する方法は2種類ある / 配列定数の定義 3
2 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 3
3 「POSIX正規表現」と「PCRE正規表現」の違い 2
3 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined | Fatal error(エラーメッセージ) 2
3 Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting | エラーメッセージ 2
3 http_build_query | URLs(関数) 2
3 or(||) | 演算子 2
3 No route found fo | エラーメッセージ 2
3 and | 演算子 2
4 Fatal error: Uncaught RuntimeException: SplFileObject::__construct(): failed to open stream: Permission denied in | Fatal error(エラーメッセージ) 1
4 curl で Cookie を使用する 1
4 文字列型(string) | 型 1
4 You currently have Essential access which includes access to Twitter API v2 endpoints only. If you need access to this endpoint, you’ll need to apply for Elevated access via the Developer Portal. | Twitter API(エラーメッセージ) 1
4 Catchable fatal error: Object of class DateTime could not be converted to string | Fatal error(エラーメッセージ) 1
4 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 1
4 Fatal error: Uncaught Error: Call to a member function modify() on string | Fatal error(エラーメッセージ) 1
4 Warning: strlen() expects parameter 1 to be string, array given in ○○.php on line △△ | Warning(エラーメッセージ) 1
4 ob紛らわしい関数()一覧 | 出力バッファリング制御(関数) 1
2026/1/1 1:01 更新