基本上就是罐头上写的:
if(is_dir($dir))
echo $dir . " is a directory\n";
if(is_readable($dir))
echo $dir . " is readable\n";
if($this->handle = opendir($dir))
echo $dir . " opened\n";返回:
\HTPC\MOVIES是一个目录
\HTPC\MOVIES已打开
哪一个是奇怪的?我可以遍历目录中的文件,但显然它是不可读的。正如我所说的,这并不重要,我仍然可以读取这些文件,但我只是觉得有点奇怪。
有谁有什么想法吗?
发布于 2012-06-03 21:17:21
这似乎是一个权限错误。分配给该特定文件夹的是一个家庭组。家庭组实际上并未在网络上使用。删除家庭组并重新添加用户组后,is_readable返回true。仍然很奇怪,为什么opendir返回true,而is_readable不返回。你肯定会期望一些不可读的东西在打开时会失败。
谢谢你们的帮助。
发布于 2012-06-03 21:00:04
检查您的安全策略如果您想要阻止进入目录,请查找绕过遍历检查或类似的东西。
如果绕过了检查,那么用户可以进入acl禁止目录,但是内容不能被读取。
如果你的ACL是为整个树仔细而正确地设置和选择的,那么你通常不需要接触它。
https://stackoverflow.com/questions/10870388
复制相似问题