文件访问权限deneid

时间:2015-04-24 11:32:27

标签: php webserver

您有此代码来管理我的主页。 在我家的本地服务器上一切正常,我使用easyphp。 但是在我的虚拟主机服务器上我遇到了这个错误

Warning: scandir(D:\Hosting\12067690\html/,D:\Hosting\12067690\html/) [function.scandir]: Access is denied. (code: 5) in D:\Hosting\12067690\html\index_menu.php on line 65

有什么想法吗? 提前谢谢你。

<?php
          $dir = $_SERVER['DOCUMENT_ROOT'].stripslashes(dirname($_SERVER['PHP_SELF'])).'/';
            if(!empty($_GET['p'])){
                $pages = scandir($dir, 0);
                unset($pages[0], $pages[1]);
                $p = $_GET['p'];
                if (in_array($p.'.htm', $pages)){
                    include($dir.'/'.$p.'.htm');
                }else{
                echo 'Sorry, page introuvable';                     
                }
            }else{
                include($dir.'/enter_index01.htm');
            }
        ?>

1 个答案:

答案 0 :(得分:0)

您可以使用file_exists而不是使用所有scandir内容来简化:

$p = $_GET['p']; // WARNING: sanitize this before using it in production app
if (file_exists($dir.'/'.$p.'.htm')){
    include($dir.'/'.$p.'.htm');
} else {
    echo 'Sorry, page introuvable';
}

并清理用户输入(例如将其限制为特定路径,白名单等)。

相关问题