文件访问访问被拒绝

files access access deneid

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

Warning: scandir(D:\Hosting067690\html/,D:\Hosting067690\html/) [function.scandir]: Access is denied. (code: 5) in D:\Hosting067690\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');
            }
        ?>

您可以使用 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';
}

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