我在PHP中设置会话变量如下:
$_SESSION['pass'] = $pass;
其中$pass
是一些密码,即。 "test4;"
左侧的会话变量工作正常,但我发现我的鄙视和担心右侧的$pass
似乎也是一个会话变量,也就是说,一旦设置,我就可以回声来自任何页面的$pass
,它似乎一直存在,直到我销毁会话。
是什么给出的?我该如何防止这种情况?
谢谢!
答案 0 :(得分:4)
Register globals可能正在开启 - 这是一个巨大的安全风险!检查是否是这种情况,并确保它已关闭。此外,这是一种弃用的方法。
如果启用了register_globals,您可以通过在.htaccess文件中将此设置更改为php.ini OR 来turn it off:
php_flag register_globals off
答案 1 :(得分:-1)
您正在分配会话,并且$ pass彼此相等。尝试使用
if(!isset($_SESSION['pass']))
使用您想要验证的任何信息