1. 程式人生 > >IPhone UC 瀏覽器基於cookie登入的使用者無法退出(無法刪除 cookie)問題

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 瀏覽器都正常。