Java開發 | 安全篇 Cookie設定secure屬性
What is it and why do I care ?
Session cookies (或者包含JSSESSIONID的cookie)是指用來管理web應用的session會話的cookies.這些cookie中儲存特定使用者的session ID標識,而且相同的session ID以及session生命週期內相關的資料也在伺服器端儲存。在web應用中最常用的session管理方式是通過每次請求的時候將cookies傳送到伺服器端來進行session識別。
你可以設定附加的secure標識來提示瀏覽器只能通過Https(加密方式)方式來傳輸cookie,Http(未加密方式)方式則不可以。這種方式來保證你的
what should I do about it ?
應對方法很簡單。你必須在session cookie新增secure標識(如果有可能的話最好保證請求中的所有cookies都是通過Https方式傳輸)
如下是示例:未新增secure標識的session cookie-可能會被洩露
Cookie: jsessionid=AS348AF929FK219CKA9FK3B79870H;
新增secure標識:
Cookie: jsessionid=AS348AF929FK219CKA9FK3B79870H; secure;
方式很簡潔。你可以甚至可以手工設定這個標識,如果你在Servlet3或者更新的環境中開發,只需要在web.xml簡單的配置來實現。你只要在web.xml中新增如下片段:
<session-config>
<cookie-config>
<secure>true</secure>
</cookie-config>
</session-config>