PHP安全登录/注销:注销问题

时间:2012-05-16 05:15:35

标签: 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['login']):
// If you are not logged in
?>

据我所知,这应该记录用户,但似乎没有这样做。可以在novabvuild.comlu.com上查看该站点,并可以使用默认登录信息(admin,admin)。这样你们大家就可以看到这个问题。登录似乎工作正常,但注销无法正常运行。

提前致谢!

3 个答案:

答案 0 :(得分:0)

尝试添加路径:

setcookie("userName", "", mktime(12,0,0,1, 1, 1970), "/");  

你也可以逃脱:unset($_COOKIE['cookieName']);

答案 1 :(得分:0)

尝试:

unset($_COOKIE[login]) and unset($_COOKIE[userName])

OR

setcookie("login") and setcookie("userName")

答案 2 :(得分:0)

使用会话代替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;
}

希望这会对你有所帮助。

相关问题