【发布时间】:2011-08-22 18:04:40
【问题描述】:
我使用以下代码将用户从 Web 应用程序中注销。登录时我设置了cookie电子邮件和密码,但是退出后访问主页会自动重新登录用户,可能是因为cookie没有成功销毁。请问我怎么做对。这是注销代码
function log_out() {
$old_user = $_SESSION['valid_user'];
unset($_SESSION['valid_user']);
unset($_SESSION['login']);
unset($_SESSION['blog_addr']);
$result_dest = session_destroy();
setcookie('email', '');
setcookie('pswd', '');
if (!empty($old_user))
if ($result_dest)
return true;
else
$msg = 'Could not log you out ';
else
$msg = 'You have not been logged in so you are not logged out ';
return $msg;
}///:~
【问题讨论】:
-
请不要将人们的密码存储在他们的 cookie 中。请参阅stackoverflow.com/questions/1410901/… 了解做同样事情的更好方法。
-
从安全角度来看,将密码存储在 cookie 中是一个非常糟糕的主意。您可能想在这里阅读这两种策略:static.springsource.org/spring-security/site/docs/3.0.x/…。 (尽管文档是针对 java 包的,但原则仍然非常适用!)
标签: php