關于tomcat和sessionCookieName和SESSION_PARAMETER_NAME以及disableURLRewriting參數原理和使用...

關于tomcatsessionCookieNameSESSION_PARAMETER_NAME以及disableURLRewriting參數

關于sessioncookie參考:

http://www.blogjava.net/freeman1984/archive/2011/09/02/357833.html

http://www.blogjava.net/freeman1984/archive/2010/09/09/331501.html

http://www.blogjava.net/freeman1984/archive/2010/03/30/316901.html

?

tomcat服務端和客戶端通過sessionCookieName參數(默認值:jsessionid)的值來識別session,并在此session中共享數據。在瀏覽器首次請求服務的時候,tomcat服務器會在響應頭信息信息里面返回:

?

?

?

告訴瀏覽器保存cookie名為JSESSIONID的cookie,當然此時為會話cookie,此cookie是保存在瀏覽器當前會話中的。過期時間為當前會話結束時。(當然前提是瀏覽器要設置為接受第三方cookie)

在下次瀏覽器請求的時候會將此cookie值返回給服務器,當然cookie的名稱同(sessionCookieName參數,確切的來說是同瀏覽器保存的會話cookie的名稱),當服務器接受到此參數的時候,就不會在響應頭信息信息里面返回Set-cookie




當然sessionCookieName參數的值是可以修改的,查看官方文檔:

sessionCookieName

The name to be used for all session cookies created for this Context. If not set, the default of JSESSIONID will be used. Note that this default will be overridden by the?org.apache.catalina.SESSION_COOKIE_NAME?system property.

通過在contex中設置:
1 <Context?sessionCookieName="jss" >

或者通過java虛擬機參數

2 -D org.apache.catalina.SESSION_COOKIE_NAME=jss

或者動過設置:

3

System.setProperty("org.apache.catalina.SESSION_COOKIE_NAME",?"jss");

?

當然后兩種的優先級高。

修改之后在查看服務器返回:

?

當瀏覽器設置了不接受第三方cookie的時候。Tomcat支持通過URLRewrit(將sessionid放在url中)來將sessionid傳給服務器來維持會話(當然如果瀏覽器接受會話cookie優先級是從會話cookie中去,也就是url里面的session參數會被拋棄)。

例如:get.do;jsessionid=1682268A851B4B6A3BAE18871C63AF30

?

查看tomcat相關源碼:

?

private?static?final?String?match?=?";"?+?Globals.SESSION_PARAMETER_NAME?+?"=";

?

此時的SESSION_PARAMETER_NAMEsessionCookieName是可以不相同的(默認相同),通過修改org.apache.catalina.SESSION_PARAMETER_NAME參數來修改,方式如下:

-Dorg.apache.catalina.SESSION_PARAMETER_NAME=jsss

?或者:

System.setProperty("org.apache.catalina.SESSION_PARAMETER_NAME",?"jsss");

?

這樣通過URLRewrit的方式session就不限于么個瀏覽器或者瀏覽器頁了。只要有此seesionid任何瀏覽器任地方都能夠進行訪問,當然就帶來了安全問題。可通過以下參數來禁止URLRewritsessionid,仍然是在tomcatcontext.xml文件內設置:

<Context?disableURLRewriting="true">

官方文檔:

isableURLRewriting

Set to?true?to disable support for using URL rewriting to track session IDs for clients of this Context. URL rewriting is an optional component of the servlet 2.5 specification but disabling URL rewriting will result in non-compliant behaviour since the specification requires that there?must?be a way to retain sessions if the client doesn't allow session cookies. If not specified, the specification compliant default value of?false?will be used.

?

?

設置完成后即使你在url里面加了sessionid的值,服務器仍然會在返回頭信息里面返回Set-cookie信息。

其他應用服務器原理大致相同。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/286909.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/286909.shtml
英文地址,請注明出處:http://en.pswp.cn/news/286909.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

我讓代碼生了個孩子繼承了他爸爸誰知他爸爸繼承了他爺爺(16)

本系列文章將會以通俗易懂的對話方式進行教學&#xff0c;對話中將涵蓋了新手在學習中的一般問題。此系列將會持續更新&#xff0c;包括別的語言以及實戰都將使用對話的方式進行教學&#xff0c;基礎編程語言教學適用于零基礎小白&#xff0c;之后實戰課程也將會逐步更新。 若…

linux之lrzsz

1、lrzsz介紹 我們利用lrzsz進行windows和linux間的文件上傳下載 2、安裝 在ubuntu系統下 sudo apt-get install lrzsz 在centos系統下 yum install lrzsz 3、使用 1)、windows上傳文件到linux環境,使用如下命令 rz

POJ 1611 The Suspects (并查集)

The Suspects題目鏈接&#xff1a; http://acm.hust.edu.cn/vjudge/contest/123393#problem/B Description 嚴重急性呼吸系統綜合癥( SARS), 一種原因不明的非典型性肺炎,從2003年3月中旬開始被認為是全球威脅。為了減少傳播給別人的機會, 最好的策略是隔離可能的患者。 在Not-…

Android幀緩沖區(Frame Buffer)硬件抽象層(HAL)模塊Gralloc的實現原理分析(2)...

函數load也是實現在文件hardware/libhardware/hardware.c文件中&#xff0c;如下所示&#xff1a; static int load(const char *id, const char *path, const struct hw_module_t **pHmi) { int status; void *handle; struct hw_module_t …

Win8消費者預覽版下載地址 包含中文下載地址及中文手冊

Win8消費者預覽版下載地址&#xff08;32位英文版&#xff09;&#xff1a; http://ak.or.esd.microsoft.com/pr/WCPDL/8A9D4FDFF736C5B1DBF956B89D6C8FDFD925DACD2/Windows8-ConsumerPreview-32bit-English-x1794225.esd Win8消費者預覽版下載地址&#xff08;64位英文版&…

VS2019社區版(Community)試用30天過期的有效解決辦法

VS2019社區版是免費的&#xff0c;前提是你得登陸自己的賬戶&#xff0c;如果一開始安裝時沒有登陸&#xff0c;那么就會只有30天有效期。此時&#xff0c;需要我們登陸微軟賬號&#xff0c;重新驗證即可。 登陸微軟賬號&#xff0c;即可繼續免費試用。

【萬字長文】使用 LSM Tree 思想實現一個 KV 數據庫

目錄設計思路內存表WALSSTable 的結構SSTable 元素和索引的結構SSTable Tree內存中的 SSTable數據查找過程何為 LSM-Treee參考資料整體結構實現過程文件壓縮測試插入測試加載測試查找測試SSTable 結構SSTable 文件結構SSTable Tree 結構和管理 SSTable 文件讀取 SSTable 文件SS…

linux之安裝mysql提示Error: Unable to find a match: mysql-community-server

1 問題 在centos系統下安裝mysql,命令如下 yum -y install mysql-community-server 提示錯誤如下 [root@iZm5e6dk6exl71zbx327zvZ mysql]# yum -y install mysql-community-server MySQL Connectors Community …

記錄部件中GetFieldControlByFieldName(字段值樣式設置)用法

度量快速開發平臺中&#xff0c;記錄部件上&#xff0c;不單是字段名稱可以設置樣式&#xff0c;要填入內容的方框也可以設置樣式。通過獲取記錄部件上某一個字段的輸入控件&#xff0c;在二次開發中不常用。該方法只有一個參數&#xff0c;即要獲取對象的字段&#xff0c;需要…

C/C++/Linux工程師學習資料干貨路線這都有,從入門到實戰!【CSDN寶藏資料圖鑒第二期】

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我&#xff0c;若你是真心學習可以送你書籍&#xff0c;指導你學習&#xff0c;給予你目標方向的學習路線&#xff0c;無套路&#xff0c;博客為證。 前言 CSDN 是全球知名的開發者社區&#xff0c;創建于1999年&#xff…

你要的來了:ArcGIS空間插值分析方法權威解讀

插值問題的提出??? 一、趨勢面 Trend is a global polynomial interpolation that fits a smooth surface defined by a mathematical function (a

Socket解決粘包問題2

在AsynServer中對接收函數增加接收判斷&#xff0c;如果收到客戶端發送的請求信息&#xff0c;則發送10個測試包給發送端&#xff0c;否則繼續接收&#xff0c;修改后的接收代碼如下&#xff1a; private void AsynReceive(){byte[] data new byte[1024];//接收緩存string rec…

C# WebBrowser 取 window.open 新窗口 url的方法

System.Windows.Forms.WebBrowser wb; //WebBrowser 對象wb.NewWindow new CancelEventHandler(wb_NewWindow);wb.DocumentCompleted delegate{ #region 處理window.open新開窗口的問題System.Windows.Forms.HtmlElement html wb.Document.CreateElemen…

linux之rpm

1、rpm Linux rpm 命令用于管理套件 -a  查詢所有套件。-b<完成階段><套件檔>+或-t <完成階段><套件檔>+  設置包裝套件的完成階段,并指定套件檔的文件名稱。-c  只列出組態配置文件,本參數需配合"-l"參數使用。-d  只列出文本文件,…

保姆級的HTML零基礎教程少見吧?這是第一節(1)

作者簡介 作者名&#xff1a;1_bit 簡介&#xff1a;CSDN博客專家&#xff0c;2020年博客之星TOP5&#xff0c;藍橋簽約作者。15-16年曾在網上直播&#xff0c;帶領一批程序小白走上程序員之路。歡迎各位小白加我咨詢我相關信息&#xff0c;迷茫的你會找到答案。 目錄 HTML基…

WPF 通用權限開發框架 (ABP)

前言對于大部分.NET 開發者來說, 都比較熟悉目前流行的ABP框架, 基于開源的ABP框架, 可以自己進行二次開發, 無需重新開發一些基礎功能,例如: 用戶角色管理、權限、組織、多租戶等等。但是對于ABP框架來說, 提供給.NET開發者的可選項非常少, 目前也僅僅是提供了基于Web的解決方…

甘肅省事業單位公考招聘考試權威復習資料---GIS專業綜合復習題(一)

1. 數字城市 以計算機技術、多媒體技術和大規模存儲技術為基礎,以寬帶網絡為紐帶,運用遙感、全球定位系統、地理信息系統、遙測、仿真-虛擬等技術,對城市進行多分辨率、多尺度、多時空和多種類的三維描述,即利用信息技術手段把城市的過去、現狀和未來的全部內容在網絡上進…

MongoDB 3.0 新增特性一覽

引言 在歷經版本號修改&#xff08;2.8版本直接跳到3.0版本&#xff09;和11個rc版本之后&#xff0c;MongoDB3.0于2015年3月3日正式發布。可以毫不夸張的說&#xff0c;該版本的新增特性標志著MongoDB這款典型的NoSQL數據庫已經進入了一個全新的發展階段。本文以下內容會逐個盤…

[華清遠見]FPGA公益培訓

本套視頻教程為華清遠見 網絡公益培訓活動&#xff0c;主講人&#xff1a;姚遠老師&#xff0c;華清遠見高級講師。 ---------------------------------------------------------------------------------------- “紅色颶風FPGA普及行動” 課程內容&#xff1a; 第一講、FPGA設…

單一職責原則--設計模式系列

定義 一個類只負責一項職責 職責擴散 什么叫職責擴散&#xff0c;就是職責再進行細化&#xff0c;就拿公司來說&#xff0c;好比客戶的需求&#xff0c;需求是不斷變化的&#xff0c;而且存在極大的不確定性&#xff0c;說不定哪天上司找到你要重新細化某個需求 所以最好在職責…