php:open_basedir 和 /dev/urandom
在某些情况下,调用 Pear Mail 类 会自动尝试读取 /dev/urandom
,但是由于 open_basedir
设置,访问受到限制。 将 /dev
添加到 open_basedir
是否安全? 或者有更好的方法解决这个问题吗?
Calling the Pear Mail class in some instances automatically attempts to read /dev/urandom
, however access is restricted due to an open_basedir
setting. Is it safe to add /dev
to open_basedir
? Or is there a better way around this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您信任将为您的服务器编写 PHP 的每个人吗? 如果没有,那么将 /dev 添加到 open_basedir 可能是一个坏主意。
至于为什么,我能想到的唯一原因是如果您尝试启动与 SMTP 服务器的 SSL 连接,则需要随机数。 您是否正在尝试使用 SSL?
Do you trust everyone who will be writing PHP for your server? If not, then adding /dev to open_basedir is probably a bad idea.
As for why, the only reason I can think of for why random numbers would be needed is if you are trying to start an SSL connection with an SMTP server. Are you trying to use SSL?
经验测试(在 PHP 7.1.18 中)表明您可以将
/dev/urandom
添加到open_basedir
以仅允许访问该“设备”(前提是没有尾部斜杠,即不是/dev/urandom/
)。 更一般地说,您可以允许访问目录中的特定文件,但不允许访问目录本身、目录中的其他文件或子目录。我不知道在提出问题时 PHP 中是否存在这个(显然未记录的)功能。
Empirical testing (in PHP 7.1.18) shows you can add
/dev/urandom
toopen_basedir
to allow access to only that ‘device’ (provided there is no trailing slash, i.e. not/dev/urandom/
). More generally, you can allow access to specific files within a directory without allowing access to the directory itself, other files within it, or subdirectories.I don't know if this (apparently undocumented) feature was present in PHP at the time the question was asked.