`PHP.ini` 中的 `session.entropy_length` 有啥作用?

Posted

技术标签:

【中文标题】`PHP.ini` 中的 `session.entropy_length` 有啥作用?【英文标题】:What does `session.entropy_length` in `PHP.ini` do?`PHP.ini` 中的 `session.entropy_length` 有什么作用? 【发布时间】:2016-04-30 05:16:55 【问题描述】:

php.ini 的会话部分有一个名为session.entropy_length 的指令。

我知道它被用来使session id 的生成更加随机。

它是怎么做到的?

最大长度是多少?

如果它超过了hash 正在使用的位数怎么办?

【问题讨论】:

【参考方案1】:

session.entropy_length 指定将从上面指定的文件中读取的字节数。默认为 0(禁用)。

PHP Manual

“上面提到的文件”是 session.entropy_file

会话的“熵”与会话 id 值的随机性有关

【讨论】:

我们知道文档中的内容,但文档对此并没有太大帮助。我认为 OP 正试图对如何使用它有更多的感觉:什么值是有意义的(不是太大或太小)?该值与哈希类型等其他设置有何关系?什么是一个很好的使用价值,如果允许,为什么不使用更高的价值?假设 PHP 团队通常为开箱即用的合理安全级别设置默认值,为什么默认值为零;这不是对安全性的妥协吗?

以上是关于`PHP.ini` 中的 `session.entropy_length` 有啥作用?的主要内容,如果未能解决你的问题,请参考以下文章

我配置了我的 sendmail.ini 和 php.ini 但我无法使用 php 中的 mail() 函数发送电子邮件

无法更新 Docker 容器中的 php.ini 文件

`PHP.ini` 中的 `session.entropy_length` 有啥作用?

我的 php.ini 是从哪里加载到 php Docker 容器中的?

php.ini 中的按位运算符语法错误

XAMPP 中的 php.ini 中缺少 XDebug 配置