对于我的身份验证过程,我在用户登录时创建一个唯一令牌,并将其放入用于身份验证的cookie中.
所以我会从服务器发送这样的东西:
Set-Cookie: token=$2a$12$T94df7ArHkpkX7RGYndcq.fKU.oRlkVLOkCBNrMilaSWnTcWtCfJC; path=/;
Run Code Online (Sandbox Code Playgroud)
哪个适用于所有浏览器.然后删除一个cookie我发送一个类似的cookie,其expires字段设置为1970年1月1日
Set-Cookie: token=$2a$12$T94df7ArHkpkX7RGYndcq.fKU.oRlkVLOkCBNrMilaSWnTcWtCfJC; path=/; expires=Thu, Jan 01 1970 00:00:00 UTC;
Run Code Online (Sandbox Code Playgroud)
这在Firefox上工作正常,但不会删除IE或Safari上的cookie.
那么删除cookie的最佳方法是什么(最好不使用JavaScript)?过去设定的过期方法看起来很笨重.还有为什么这在FF中工作但在IE或Safari中不起作用?
用户在使用 http.SetCookie 访问时设置了一个 cookie,如下所示:
expire := time.Now().Add(7 * 24 * time.Hour)
cookie := http.Cookie{
Name: "name",
Value: "value",
Expires: expire,
}
http.SetCookie(w, &cookie)
Run Code Online (Sandbox Code Playgroud)
如果我想稍后删除此 cookie,那么正确的方法是什么?