IPhone UC 瀏覽器基於cookie登入的使用者無法退出(無法刪除 cookie)問題
阿新 • • 發佈:2019-02-18
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 瀏覽器都正常。