PHP安全登录/注销:注销问题
我有一个PHP登录/注销系统。注销代码如下所示:PHP安全登录/注销:注销问题,php,mysql,login,logout,Php,Mysql,Login,Logout,我有一个PHP登录/注销系统。注销代码如下所示: if($_POST['submit']=='logOut') { setcookie('userName','', time()-60*60*24*100); setcookie('login','', time()-60*60*24*100); header("Location: index.php"); exit; } 正在通过以下方式检查用户的登录状态: <?php if(!$_COOKIE['log
if($_POST['submit']=='logOut')
{
setcookie('userName','', time()-60*60*24*100);
setcookie('login','', time()-60*60*24*100);
header("Location: index.php");
exit;
}
正在通过以下方式检查用户的登录状态:
<?php
if(!$_COOKIE['login']):
// If you are not logged in
?>
据我所知,这应该让用户注销,但它似乎没有这样做。可以在novabbuild.comlu.com上查看该网站,并且可以使用默认登录信息(admin,admin)。这样你们就可以看到问题了。登录似乎工作正常,但注销运行不正常
提前谢谢 尝试添加路径:
setcookie("userName", "", mktime(12,0,0,1, 1, 1970), "/");
您也可能会侥幸逃脱:unset($_COOKIE['cookieName'])代码>尝试:
unset($_COOKIE[login]) and unset($_COOKIE[userName])
或
使用会话而不是cookie,
在用户登录时设置会话,在用户注销时取消设置/销毁会话
if($_POST['submit']=='logOut')
{
unset($_SESSION['userName']);
unset($_SESSION['login']);
header("Location: index.php");
exit;
}
else if($_POST['submit']=='login')
{
$_SESSION['userName']=$userName;
$_SESSION['login']=$login;
}
希望这能对您有所帮助。因为有很多方法可以建立身份验证系统,我建议您解释一下,或者在这里输入一些关于登录部分的代码。如果没有这些详细信息,我怀疑任何人都能帮你注销可以,但这取决于你如何检查用户是否登录。。。如果您像注销代码中所显示的那样使用cookie进行操作,那就足够了。那么会话呢?向我们展示您检查用户是否登录的方式。@user1397727我看到您在收到答案后进行了编辑。你尝过吗?有什么工作吗?我已经停止了这个网站,我在没有任何重大编辑的情况下将我的大部分代码转移到了Bluehost托管帐户上的www.msheeksproductions.com。我仍然有问题,当前的线程可以在
if($_POST['submit']=='logOut')
{
unset($_SESSION['userName']);
unset($_SESSION['login']);
header("Location: index.php");
exit;
}
else if($_POST['submit']=='login')
{
$_SESSION['userName']=$userName;
$_SESSION['login']=$login;
}