【发布时间】:2020-12-27 10:04:11
【问题描述】:
我很难使用以下代码删除所有 cookie。似乎发生的事情是域被更改为在其前面附加一个点。我没有删除所有 cookie,而是得到域略有不同的重复 cookie。有什么方法可以完全删除所有 cookie,无论它们的域是什么样的?
感谢您的帮助!
//DeleteCookies deletes all cookies
func DeleteCookies(w http.ResponseWriter, r *http.Request) {
for _, c := range r.Cookies() {
deleted := &http.Cookie{
Name: c.Name,
Path: c.Path,
//Expires: time.Unix(0, 0),
MaxAge: -10,
HttpOnly: c.HttpOnly,
Domain: c.Domain,
Secure: c.Secure,
Value: "",
}
http.SetCookie(w, deleted)
}
}
【问题讨论】:
-
@MuffinTop 这是错误的。 Cookie 由三元组(域、名称、路径)标识,因此您在删除 cookie 时不得修改路径。
标签: go