我最近了解到,在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,我是一个菜鸟:)
答案 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']
代替。