首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Codeigniter读取Phpass文件

用Codeigniter读取Phpass文件
EN

Stack Overflow用户
提问于 2012-03-22 07:14:05
回答 1查看 697关注 0票数 0

在我的CI控制器上使用PhPAS0.3时,我得到了这个错误

消息: is_readable() function.is.是可读的:有效的open_basedir限制。文件(/dev/urandom)不在允许的路径内:(/home/:/usr/lib/php:/usr/local/lib/php:/tmp)

文件名: phpass-0.3/PasswordHash.php

有人能告诉我问题是什么吗?

EN

回答 1

Stack Overflow用户

发布于 2012-03-22 08:22:59

open_basedir是在php.ini文件中定义的指令。

它被设置为允许从PHP脚本(通常是webroot )访问的最低目录。

尝试访问树下的文件/目录(如in /dev/ )将被破坏,您将得到所拥有的消息。

您必须编辑您的php.ini并将open_basedir设置为您的服务器根目录,这在安全性上通常是一件坏事--就好像有人成功地将恶意代码注入到您的脚本中一样--他们可以访问整个系统。

如果您真的需要的话,执行一个驻留在web文件夹中的脚本(Perl、Python等)来读取/dev/urandom会更安全。

代码语言:javascript
复制
$output = `/scripts/get_urandom.pl`;
// Process output

通过消除错误,phpass 解决这个问题的版本1.8:

自修订1.7以来的变化:+2-2行: 将is_readable()以"@“作为前缀,以在open_basedir限制生效时抑制警告。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9817899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档