我应该将 `/dev/urandom` 添加到 PHP `open_basedir` 中吗?

我应该将 `/dev/urandom` 添加到 PHP `open_basedir` 中吗?

我的系统是 centos 7.4,带有Apache 2.4.6PHP 5.4
/etc/php.ini

open_basedir =.:/tmp/:/var/lib/php/session/
session.save_path = "/var/lib/php/session"
session.entropy_length = 0
;session.entropy_file = /dev/urandom

我读PHP 手册

注意:在 PHP 7.1.0 中已删除。从 PHP 5.4.0 开始,session.entropy_file 默认为 /dev/urandom 或 /dev/arandom(如果可用)。在 PHP 5.3.0 中,此指令默认为空。

我问我是否应该添加/dev/urandomopen_basedir,例如:
open_basedir =.:/tmp/:/var/lib/php/session/:/dev/urandom/

答案1

思考你不需要,除非你自己的 PHP 代码需要/dev/urandom使用include()fopen()或类似的函数来读取。

据我所知,该 open_basedir限制仅内置于将任何用户(开发人员)提供的文件名作为输入的函数中。会话生成器(以及例如需要随机数据的其他加密函数)不会从任何文件名中读取,session.entropy_file 需要由管理员设置,并且不太可能对 open_basedir将从该 session.entropy_file 读取随机数据的特定代码应用限制

相关内容