Доступ запрещен с использованием 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, и я нуб :)


person TSC    schedule 26.05.2011    source источник


Ответы (3)


$PHP_SELF должно быть $_SERVER['PHP_SELF'].

person KingCrunch    schedule 26.05.2011
comment
Это сделало это. Спасибо за быстрый ответ. - person TSC; 26.05.2011

Вместо этого используйте $_SERVER['PHP_SELF']. Наличие $PHP_SELF является побочным эффектом включения register_globals.

person Marc B    schedule 26.05.2011
comment
Это сделало это. Спасибо за быстрый ответ. - person TSC; 26.05.2011

$PHP_SELF зависит от register_globals. Использовать

$_SERVER['PHP_SELF']

вместо.

person PJK    schedule 26.05.2011
comment
Это сделало это. Спасибо за быстрый ответ. - person TSC; 26.05.2011