Java操做Cookie方法

特別提示:本人博客部分有參考網絡其餘博客,但均是本人親手編寫過並驗證經過。如發現博客有錯誤,請及時提出以避免誤導其餘人,謝謝!歡迎轉載,但記得標明文章出處: http://www.cnblogs.com/mao2080/

一、問題描述

  Cookie由服務端來寫並將httpOnly設置成爲「true」,Cookie中設置了"HttpOnly"屬性,那麼經過程序(JS腳本、Applet等)將沒法讀取到Cookie信息,這樣能有效的防止XSS攻擊。看圖加深理解。html

  

  

二、代碼片斷

一、設置cookie  

此處省略帳號密碼校驗邏輯,省略用戶信息存緩存步驟。緩存

 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     }

二、獲取cookie  

 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     }

三、參考網站

  https://blog.csdn.net/Truong/article/details/69063087cookie

  http://www.javashuo.com/article/p-elnajqih-gk.html網絡

相關文章
相關標籤/搜索