我的系统是 centos 7.4,带有Apache 2.4.6
。PHP 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/urandom
到open_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 读取随机数据的特定代码应用限制