Cookie由服務端來寫並將httpOnly設置成爲「true」,Cookie中設置了"HttpOnly"屬性,那麼經過程序(JS腳本、Applet等)將沒法讀取到Cookie信息,這樣能有效的防止XSS攻擊。看圖加深理解。html
此處省略帳號密碼校驗邏輯,省略用戶信息存緩存步驟。緩存
1 @RequestMapping("/login") 2 @ResponseBody 3 public void login(HttpServletRequest request, HttpServletResponse response) throws IOException { 4 Cookie cookie = new Cookie("access_token", UUID.randomUUID().toString()); 5 cookie.setHttpOnly(true); 6 cookie.setPath("/"); 7 cookie.setDomain("localhost"); 8 response.addCookie(cookie); 9 response.sendRedirect("http://localhost:8088/index.html"); 10 }
1 /** 2 * 獲取cookie 3 * @param request 4 * @param key 5 * @return 6 */ 7 public static String getCookie(HttpServletRequest request, String key){ 8 if(request == null || StringUtil.isEmpty(key)){ 9 return ""; 10 } 11 Cookie[] cookies = request.getCookies(); 12 for (Cookie cookie : cookies) { 13 if(key.equals(cookie.getName())){ 14 return cookie.getValue(); 15 } 16 } 17 return ""; 18 }