5

基本上它在锡上写的是:

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 打开

哪个奇怪?我可以遍历目录中的文件,但显然它不可读。就像我说的那样我仍然可以读取文件并不重要,但是我觉得有点奇怪。

有人有想法吗?

4

2 回答 2

3

似乎是权限错误。分配给该特定文件夹的是一个家庭组。家庭组实际上并未在网络上使用。删除家庭组并重新添加用户组后 is_readable 返回 true。仍然奇怪 opendir 如何返回 true 但 is_readable 不是。你肯定会期望一些不可读的东西在打开时会失败。

谢谢你们的帮助。

于 2012-06-03T13:17:21.463 回答
0

如果您想阻止进入目录,请检查您的安全策略,寻找绕过遍历检查或类似的东西。

如果绕过该检查,则可以进入 acl 禁止的目录,但无法读取内容。

如果您的 ACL 已为整个树仔细正确地设置和选择,那么您通常不需要触摸它。

于 2012-06-03T13:00:04.230 回答