php会话变量wierd行为
我正在PHP中设置一个会话变量,如下所示:php会话变量wierd行为,php,session,variables,Php,Session,Variables,我正在PHP中设置一个会话变量,如下所示: $_SESSION['pass'] = $pass; 其中,$pass是一些密码,即,“test4;”左侧的会话变量工作正常,但令我惊讶和担心的是,右侧的$pass似乎也是一个会话变量,即一旦设置,我可以从任何页面回显$pass,它似乎一直持续到我销毁会话为止 有什么好处?我怎样才能防止这种情况 谢谢 可能已打开-这是一个巨大的安全风险!检查情况是否属实,并确保已关闭。而且,它是一种不推荐使用的方法 如果启用了register_globals
$_SESSION['pass'] = $pass;
其中,$pass
是一些密码,即,“test4;”
左侧的会话变量工作正常,但令我惊讶和担心的是,右侧的$pass
似乎也是一个会话变量,即一旦设置,我可以从任何页面回显$pass
,它似乎一直持续到我销毁会话为止
有什么好处?我怎样才能防止这种情况
谢谢 可能已打开-这是一个巨大的安全风险!检查情况是否属实,并确保已关闭。而且,它是一种不推荐使用的方法
如果启用了register_globals,则可以通过在php.ini中更改此设置或将其放置在.htaccess文件中:
php_flag register_globals off
可能已打开-这是一个巨大的安全风险!检查情况是否属实,并确保已关闭。而且,它是一种不推荐使用的方法
如果启用了register_globals,则可以通过在php.ini中更改此设置或将其放置在.htaccess文件中:
php_flag register_globals off
您正在将会话和$pass分配为彼此相等。试着使用
if(!isset($_SESSION['pass']))
使用您想要验证的任何信息,您将会话和$pass分配为彼此相等。试着使用
if(!isset($_SESSION['pass']))
无论您想验证什么信息,那么,
$pass
从何而来?您是在启用的情况下运行的吗?也许在某个地方您将会话变量分配给了$pass
。那么,$pass
从何而来?您是在启用的情况下运行的吗?也许在某个地方您将会话变量分配给了$pass
。我真的不明白这与OP的问题有什么关系?他说的是$pass(不是他的$u会话['pass'])到处都有。我真的不明白这和OP的问题有什么关系?他说的是$pass(不是他的$u会话['pass'])到处都有。我在哪里可以找到这个?该站点远程托管在共享服务器上,但我可以访问某些设置。phpinfo()代码>-它告诉您所有需要知道的信息。是,已打开register globals。你知道如何关闭它吗?在什么文件中?我得到一个内部服务器错误更新:在htaccess文件中添加上述标志导致php停止工作。但是,“我的主机”允许您在控制面板中编辑php.ini文件,并且有一个将register_globals从打开转到关闭的设置。这就成功了,解决了问题。谢谢我在哪里能找到这个?该站点远程托管在共享服务器上,但我可以访问某些设置。phpinfo()代码>-它告诉您所有需要知道的信息。是,已打开register globals。你知道如何关闭它吗?在什么文件中?我得到一个内部服务器错误更新:在htaccess文件中添加上述标志导致php停止工作。但是,“我的主机”允许您在控制面板中编辑php.ini文件,并且有一个将register_globals从打开转到关闭的设置。这就成功了,解决了问题。谢谢