使用Xampp和Register_Globals关闭禁止访问

时间:2011-05-26 19:13:39

标签: php xampp register-globals

我最近了解到,在register_globals文件中关闭php.ini会更安全。

但是,在使用以下脚本时,当register_globals开启且register_globals关闭时,它会正常工作我按下提交按钮后会收到Error 403 Access Forbidden消息:

    <?php 
         if (isset($_POST['user']))
         {
             $user = $_POST['user'];
         }
         if (isset($_POST['address']))
         {
             $address = $_POST["address"];
        }

        if (isset($_POST['submit']))
        {
              echo "Welcome, ".$user. ". <br>";
              echo "Your address is: ".$address;
        }

    ?>

    <html>
    <head>
    <title>Personal Info</title>
    </head>
    <body>
    <form method="post" action = "<?php echo $PHP_SELF;?>">
       Name: <input type="text" name="user">
       <br>
       Address: <input type="text" name="address">
       <br>
       <input type="submit" value="submit" name="submit">
    </form>
    </body>
    </html>

只有在register_globals关闭时才收到此错误消息,我做错了什么?我在Windows XP上,我使用的是Xampp 1.7.4,我是一个菜鸟:)

3 个答案:

答案 0 :(得分:0)

$PHP_SELF必须为$_SERVER['PHP_SELF']

答案 1 :(得分:0)

请改用$_SERVER['PHP_SELF']$PHP_SELF的存在是register_globals开启的副作用。

答案 2 :(得分:0)

$ PHP_SELF取决于register_globals。使用

$_SERVER['PHP_SELF']

代替。