0

我在 PHP 中设置会话变量如下:

    $_SESSION['pass'] = $pass;

密码在哪里$pass,即。"test4;"左侧的会话变量工作正常,但令我惊讶和担心的是$pass,右侧似乎也是一个会话变量,也就是说,一旦设置,我可以$pass从任何页面回显它似乎一直持续到我销毁会话。

是什么赋予了?我怎样才能防止这种情况?

谢谢!

4

2 回答 2

4

注册全局变量可能已打开 - 这是一个巨大的安全风险!检查是否是这种情况,并确保它已关闭。此外,它是一种已弃用的方法。

如果启用了 register_globals,您可以通过在 php.ini 中更改此设置将其放在 .htaccess 文件中来关闭它:

php_flag register_globals off
于 2012-06-08T13:12:48.887 回答
-1

您将会话和 $pass 分配为彼此相等。尝试使用

if(!isset($_SESSION['pass']))

使用您想要验证的任何信息

于 2012-06-08T13:13:32.360 回答