我有问题,将解释如何重现该问题:
1-登录到我的页面(会话变量设置为$_SESSION [‘logged’] = true和$_SESSION [‘id’] = 123
2然后在主菜单中单击注销选项,代码如下
function logout()
{
session_start();
$_SESSION['id'] = null;
$_SESSION['logged'] = null;
unset($_SESSION);
session_destroy();
require_once('Views/SessionExpiredView.php');
}
3-在会话过期视图中,我显示登录页面的链接,那里的会话为空
4-我在浏览器上单击返回,然后单击确定以重新发送信息
5次会话再次变为$_SESSION [‘logged’] = true和$_SESSION [‘id’] = 123,我再次被记录,并能够查看与id 123相关的所有信息
这是一个安全问题,我不知道发生了什么!!!
任何建议将不胜感激.
亚历杭德拉
解决方法:
4-单击返回,然后单击“重新发送信息”-这意味着您已重新发送以前的POST信息(显然是登录名和密码)-没什么不寻常的.
提示:只需在登录用户后进行重定向
标签:session,php
来源: https://codeday.me/bug/20191210/2098838.html