首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

Servlet 3.0 安全增強:HttpOnly Cookie 防範 XSS 攻擊

     編輯:J2EE

XSS 與 Cookie 風險

跨站腳本攻擊 (XSS) 常透過注入惡意 JS 竊取 Cookie (含 Session ID)。傳統 Cookie 可被 document.cookie 讀取,成為弱點。

HttpOnly Cookie 機制

  • Microsoft 2002 年首創 (IE6 SP1),在 Cookie 增加 HttpOnly 屬性。
  • 瀏覽器支援時,JS 讀取該 Cookie 回傳空值,**但 HTTP 請求仍自動攜帶**,不影響伺服器端 Session 追蹤。
  • 現代瀏覽器普遍支援,`XMLHttpRequest`/`fetch` 亦受保護。

Servlet 3.0 原生支援

Cookie cookie = new Cookie("user_name", "guandeliang");
cookie.setMaxAge(60 * 60 * 24 * 365); // 一年
cookie.setPath("/");
cookie.setHttpOnly(true);  // 關鍵:標記為 HttpOnly
response.addCookie(cookie);

// 判斷
boolean httpOnly = cookie.isHttpOnly();

最佳實務

  • **所有 Session ID Cookie 必須設定 HttpOnly**。
  • 敏感資料 Cookie (如記住我 Token) 同樣啟用。
  • 配合 Secure 屬性 (僅 HTTPS 傳輸) 與 SameSite (防 CSRF) 形成纵深防禦。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved