0

我正在开发一个学生进行数学练习的网站。总共有大约 5000 个练习存储在 55 个 XML 文件中。XML 文件存储在网站根目录中的目录中。XML 文件由 PHP 访问。我想让学生无法访问 XML 文件。我在 XML 文件的目录中创建了一个 .htaccess 文件:

deny from all

我的访问 XML 文件的 PHP 代码:

if(isset($_GET['m']) && isset($_GET['n']) && isset($_GET['o']))
{
    if(is_numeric($_GET['m'])==false || is_numeric($_GET['n'])==false || is_numeric($_GET['o'])==false)
      //if the variables are not numbers
    {
        header('location: /aanpassen');
        exit();
    }
    if($_GET['m']<1 || $_GET['m']>11)
    {
        header('location: /aanpassen');
        exit();
    }
    if($_GET['n']<1 || $_GET['n']>5)
    {
        header('location: /aanpassen');
        exit();
    }       
        $module = $_GET['m'];
        $niveau = $_GET['n'];
        $nummer = $_GET['o'] - 1;

    //Get the right XML-file

    $urlxml="../xml/module".$module."/niveau".$niveau."/opgave.xml";
        $xml=simplexml_load_file($urlxml);
        $opgave = $xml->opgave[$nummer];
        if(!isset($opgave))//Als de opgave niet bestaat.
        {
            header('location: /aanpassen');
            exit();
        }

    //The rest of the code

    }

我尝试使用 Javascript 访问该文件(如果我是学生),但它返回它是被禁止的。

是否仍然存在安全漏洞?

保护 XML 文件的最佳方法是什么?

4

1 回答 1

1

目前是安全的。但是将目录移到文档根目录之外会更好。可以使用全局选项禁用“.htaccess”(例如以提高性能)。在这种情况下,您的文件将可以再次访问。

确保应用程序不能自己编写 .htaccess。

于 2013-11-07T13:32:12.943 回答