使用htaccess在PHP5中注册register_globals

时间:2013-12-19 05:28:11

标签: php .htaccess

这是我的情况。在我的托管帐户中我有几个文件夹,每个文件夹代表一个网站。 在我托管的目录根目录中,php5.ini包含register_globals off。在他们的文件夹上工作需要register_globals on。我尝试在此文件夹的php_flag register_globals on中添加此行.htaccess,但没有成功。有没有任何方法可以使这个文件夹全局化,所有其他文件夹全局关闭。 (对不起我的英文)谢谢

1 个答案:

答案 0 :(得分:2)

您可以使用extract()函数导入全局变体。例如:

extract($_GET);
extract($_COOKIE);
extract($_POST);

但如果您的PHP变种可以通过使用输入进行控制,那么危险

例如,如果您有以下代码要执行auth.php中使用登录:

$authorized = check_user($username, $password);
...
extract($_GET);
...
if($authorized)
    echo "Welcome!admin."
else
    echo "Please log in."

只需访问auth.php?authorized = 1,即可绕过密码验证。 这就是为什么PHP默认在以后的版本中设置register_globals off

我建议您升级代码以解决此问题。