IPhone UC 浏览器基于cookie登录的用户无法退出(无法删除 cookie)问题

IPhone UC 浏览器基于cookie登录的用户无法退出问题。

其实是在服务端添加 cookie 时 httponly 设置为true 在服务端删除失败,导致的用户无法退出。

事件还原

在服务端增加 cookie 时 httponly 参数设置为 true,添加代码如下

Cookie cookie = new Cookie(key, value);
            cookie.setPath("/");
            if(StringUtils.isNotBlank(domain)){
				cookie.setDomain(domain);
			}
			cookie.setHttpOnly(true);
            cookie.setMaxAge(expire);

在服务端 删除 cookie 时,其实是吧相同 key 的值设置为空个,并且过期时间设置为0,

Cookie cookie = new Cookie(key, null);
			cookie.setMaxAge(0);
			cookie.setPath("/");
			if (StringUtils.isNotBlank(domain)) {
				cookie.setDomain(domain);
			}
			cookie.setHttpOnly(true);   // 删除时未添加
			response.addCookie(cookie);

在删除时未添加标红出代码,导致在 IPhone UC 浏览器 删除cookie 失败,其他 浏览器  PC 浏览器都正常。


猜你喜欢

转载自blog.csdn.net/wab719591157/article/details/78084602