1. 程式人生 > >Java開發 | 安全篇 Cookie設定secure屬性

Java開發 | 安全篇 Cookie設定secure屬性

What is it and why do I care ?

Session cookies (或者包含JSSESSIONIDcookie)是指用來管理web應用的session會話的cookies.這些cookie中儲存特定使用者的session ID標識,而且相同的session ID以及session生命週期內相關的資料也在伺服器端儲存。在web應用中最常用的session管理方式是通過每次請求的時候將cookies傳送到伺服器端來進行session識別。

你可以設定附加的secure標識來提示瀏覽器只能通過Https(加密方式)方式來傳輸cookieHttp(未加密方式)方式則不可以。這種方式來保證你的

session cookie對於攻擊者是不可見的,避免中間人攻擊(Man-in-the-Middle Attack,簡稱“MITM攻擊。這並不是一個完美的session安全管理方案,卻是一個重要的步驟。

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>

相關推薦

Java開發 | 全篇 Cookie設定secure屬性

What is it and why do I care ? Session cookies (或者包含JSSESSIONID的cookie)是指用來管理web應用的session會話的cookies.這些cookie中儲存特定使用者的session ID標識,而且相同

CookieSecure屬性

基於安全的考慮,需要給cookie加上Secure和HttpOnly屬性,HttpOnly比較好理解,設定HttpOnly=true的cookie不能被js獲取到,無法用document.cookie打出cookie的內容。 Secure屬性是說如果一個cookie被設定了Secure=true

Tomcat為Cookie設定HttpOnly屬性

A:Tomcat 中維持Java webapp的Http會話是以Cookie形式實現的儲存在服務端使用者狀態資訊的; B:服務端可以自定義建立Cookie物件及屬性傳遞到客戶端; 服務端建立的Cookie如果沒有設定HttpOnly屬性,則在客戶端可以用js讀取Cookie

Java 開發 | 安全篇 設定Cookie 的HttpOnly屬性

這種配置攔截器通過response給cookie新增HttpOnly屬性、在某種情況下並太不合理、而且可能對專案有寫影響、我的專案在這麼做之後再Google瀏覽器沒有問題,但在FF和IE上、發現了問題。我們專案頁面用了tiles框架佈局,在LoginAction登入返回到struts result配置跳轉到

Java並發/多線程系列——線程全篇(1)

dna critical ron 查看 end 錯誤 完成 cor 數據 創建和啟動Java線程 Java線程是個對象,和其他任何的Java對象一樣。線程是類的實例java.lang.Thread,或該類的子類的實例。除了對象之外,java線程還可以執行代碼。 創建和啟動線

為何卓程式用Java開發

因為android的UI層是用java的類封裝的,而底層是用c/c++。所以開發UI層(也就是軟體的介面層)時要用java開發,而你要用C++來提高軟體效率的話,需要使用jni,通過jni,在java中可以去呼叫c++程式。  選擇Java肯定是google經過深思熟慮的抉擇,

Mac下Java開發環境設定:JDK1.8+Maven3.5.4+IDEA設定

這篇文章整理一下Mac下Java開發常用連結和設定。 java開發 JDK下載 下載內容 下載地址 JDK https://www.oracle.com/technetwork/j

IBM AppScan 安全掃描:加密會話(SSL)Cookie 中缺少 Secure 屬性處理辦法

原因分析: 伺服器開啟了Https時,cookie的Secure屬性應設為true; 解決辦法: 1.伺服器配置Https SSL方式,參考:https://support.microsoft.com/kb/324069/zh-cn 2.修改web.config,新增: <

Java開發公眾號系列教程(一):微信js-sdk上傳照片相容IOS和卓裝置

很多開發者朋友在進行微信公眾號開發時,遇到微信js-sdk上傳手機相簿照片時IOS裝置無法正常預覽的情況,今天筆者結合多年的開發經驗,把相容IOS的解決方案分享給廣大微信開發者朋友。 微信最新版本JSSDK文件 地址https://mp.weixin.qq.com/advanced/wiki

淺談HTTP CookieSecure 和 HTTPONLY屬性

cape name col cap http 版本 span http協議 ring   最近工作中遇到了關於cookie的secure及httponly屬性的問題,所以關註並學習了一段時間,這裏做一下簡要記錄。關於secure和httponly標誌的用途可以參考wikip

java微信公眾平臺開發(使用sunny ngrok設定外網url)

使用Sunny-Ngrok贈送的免費域名進行http服務對映 1、首先在本站註冊成為會員 2、開通隧道 在上圖中表單資訊解釋:     隧道名稱:可以隨便填寫,只是為了使用者在往後之後這個隧道是幹嘛的  

Java開發中Session和Cookie都有哪些區別?

1.背景介紹 什麼是CookieCookie 是在HTTP協議下,伺服器或指令碼可以維護客戶工作站上資訊的一種方式。Cookie 是由 Web伺服器儲存在使用者瀏覽器(客戶端)上的小文字檔案(內容通常經過加密),它可以包含有關使用者的資訊。無論何時使用者連結到伺服器,Web站點都可以訪問

Java開發環境的搭建以及環境變數的設定

一、官網下載想要的jdk版本與安裝的路徑 下載網站:https://www.oracle.com/technetwork/java/javase/downloads/index.html 這裡就以1.7的版本。 首先下載JDK1.7,解壓後雙擊‘jdk1.7.e

java開發(三)mysql環境變數設定 持續更新...

(三)mysql環境變數設定 先下載相應的mysql服務,官網下載即可,文章結尾會給大家奉上大牛整理的各項資料的下載地址彙總! 1.右擊"我的電腦",點選"屬性" 進入系統頁面 2.點選"高階系統設定" 進入系統屬性,最下方既可以看到"環境變數"設定按鈕 3

java過濾器給Cookie加上HttpOnly屬性

網上擼下來的程式碼登入不了… 公司安全掃描出的漏洞之一,看到的第一步就是各種百度,但是簡單複製貼上過來的程式碼連登入都登入不上了… 尷尬;然後發現貌似cookie的Name和value沒有對應上,需要改一點點… 而且原始碼的doFilter(request,

Java開發公眾號系列教程(一):微信js-sdk上傳手機相簿照片相容IOS和卓裝置

很多開發者朋友在進行微信公眾號開發時,遇到微信js-sdk上傳手機相簿照片時IOS裝置無法正常預覽的情況,今天筆者結合多多年的開發經驗,把相容IOS的解決方案分享給廣大微信開發者朋友。 一、首先申明一點筆者本案例用的微信JSSDK版本是1.2.0的,官方文件給出的最

Spring註解驅動開發——設定Bean屬性和動態註冊Bean

1、@Scope設定元件作用域 @Configuration public class MainConfigA { @Bean("person") @Scope("singleton") public Person person(){

(七) RabbitMQ實戰教程(面向Java開發人員)之RabbitMQ常用屬性詳解

RabbitMQ常用屬性詳解 Alternate Exchange Alternate Exchange簡稱AE,當訊息不能被正確路由時,如果交換機設定了AE則訊息會被投遞到AE中,如果存在AE鏈則會按此繼續投遞,直到訊息被正確路由或AE鏈結束訊息被

java開發(三)mysql環境變數設定 持續更新...

(三)mysql環境變數設定 先下載相應的mysql服務,官網下載即可,文章結尾會給大家奉上大牛整理的各項資料的下載地址彙總! 1.右擊"我的電腦",點選"屬性" 進入系統頁面 2.點選"高階系統設定" 進入系統屬性,最下方既可以看到"環境變數"設定按鈕 3.點選"環境變數"按鈕,進

java開發(二)maven環境變數設定 持續更新...

(二)maven環境變數設定 先下載相應的maven壓縮包,官網下載即可,文章結尾會給大家奉上大牛整理的各項資料的下載地址彙總! 1.右擊"我的電腦",點選"屬性" 進入系統頁面 2.點選"高階系統設定" 進入系統屬性,最下方既可以看到"環境變數"設定按鈕 3.點選"環境變數"按鈕,