【发布时间】:2014-10-20 13:33:23
【问题描述】:
我想知道创建和销毁会话/cookie 的正确方法。
我使用以下:
创建会话/cookie 值:
session_start();
$_SESSION['SMUsername'] = $Username;
setcookie("SMUsername",$Username, time()+86400, "/","www.Domain.com","False","True");
要销毁会话/cookie 值:
session_destroy();
if(isset($_COOKIE['SMUsername'])){
setcookie("SMUsername","", -1, '/');
}
这是一个好方法,还是“未完成”?
此外,我已阅读以下主题: Remove a cookie
它说永远不要存储带有用户名和/或密码信息的 cookie。如果没有 cookie,你还能如何使用记住我之类的功能?
当新浏览器打开时,我使用 cookie 来记住用户。 (虽然加密,使用 md5) 使用另一个选项卡重新打开网站时,我使用会话来记住用户。这样可以吗?
【问题讨论】:
-
猜猜这个问题之前已经回答过了:stackoverflow.com/questions/1226040/…
-
这只是关于会话,而不是关于 cookie。它也没有回答 cookie 是否是记住我功能的良好媒介。
-
SESSION 使用 cookie(通常称为 PHPSESSSIONID)来识别正确的会话数据 - 无需自己编写 cookie。只需使用会话
-
@Sliver2009 它是目前唯一有意义的媒介。虽然你可以用 localStorage 和 JavaScript 来做点什么,但是如果 cookie 已经具备了你需要的所有功能,那就太愚蠢了。
-
@Steve 这对“记住我”功能没有帮助。