cookie值获取出JSESSIONID=C7A2EB23B029226E6279448D1CFD6207

Ubuntu-22.04安装VMware虚拟机并安装Windows10 最近在研究虚拟机,主要集中在KVM、Virtualbox和VMware这三种虚拟机上。前面我已经研究了前两种虚拟机的安装和使用方式,这篇文章介绍3兄弟中最后一个虚拟机安装和使用方式。Virtualbox虚拟机安装和使用KVM虚拟机安装和使用相比于前两种,VMware的安装方式最麻烦,但是综合体验下来我感觉流畅度最好。如果你确实有在Linux上使用VMware虚拟机的需求,那不妨跟着我看下去吧。1、gcc版本和内核版本一定要匹配上,否则会出各种错误。 阅读详情

这几天为了测试人员测试,就把一个tomcat应用整个拷贝了一份,改了下端口一个8080,一个8081,上下文也一样,结果出问题了:页面登陆验证码死活验证不过去,最后跟踪了下后台发现,登陆界面请求时生成验证码并将验证码放入session里面,这个session的id和验证时从获取验证码的session的的id不一样,那验证的时候由于session不一样,获取验证码肯定为空,最终验证失败。

 

根据一般的流程,浏览器首次发出请求的时候服务端会在response信息里面给出:

Set-Cookie: JSESSIONID=0000yLsny8JFy4nLxDelrrq9Lx1:-1; Path=/test (这里假设服务器生成的sessionid为0000yLsny8JFy4nLxDelrrq9Lx1,应用上下文为test)要求浏览器设置浏览器会话cookie,下次请求的时候在request头信息里面附带:

Cookie: JSESSIONID=0000yLsny8JFy4nLxDelrrq9Lx1:-1 服务器以此来判断是否统一客户端发出的请求。

 

而跟踪我们的应用发现第一次浏览器发出请求后,服务端response信息为:

Set-CookieJSESSIONID=C7A2EB23B029226E6279448D1CFD6207; Path=/test

第二次发出请求的时候整个会话信息为:

响应头信息原始头信息:

Set-Cookie: JSESSIONID=AD54301B809A7D7BBF909F10B4C838AA; Path=/test

请求头信息原始头信息:

Cookie    JSESSIONID=4DF629829C6E18953117AB66777ED2CA

 

浏览器虽然第二次请求带过去的JSESSIONID并不是第一次设置(C7A2EB23B029226E6279448D1CFD6207),并且服务端又发出了新的Set-Cookie命令和JSESSIONID。

 

最终才想起还有另一个tomcat应用的copy修改了本次的cookie session 里面的JSESSIONID值,

正好跟踪到信息为:

Set-Cookie      JSESSIONID=4DF629829C6E18953117AB66777ED2CA; Path=/test (这一次请求影响)

Cookie    JSESSIONID=C7A2EB23B029226E6279448D1CFD6207(原应用的JSESSIONID)

 

通过查看火狐浏览器里面两个应用在同一个主机(localhost)下面只存了一份名为JSESSIONID的cookie值,结果导致互相影响。
 
 

现在tomcat下的一个办法就是两个应用其中一个修改下上下文,例如一个是test,另一个是test1 ,这样由于cookie的路径(path)在同一个级别下名称不一样将不会互相影响。

浏览器判断cookie的应该根据主机,路径,名称来判断,通常根据目录层级不同作用域也不同,例如:

比如浏览器现有三个cookie, path分别为 "/", "/test", "/test/mgr" 

则请求 "/test/other/action.do"时,第1个cookie和第2个cookie会被发给服务端,第三个不会。

此时浏览器请求头信息里面的session有可能为多个,但名称都一样如:

Cookie: JSESSIONID=8810E51861891187708C53A1805951A1;JSESSIONID=0000yLsny8JFy4nLxDelrrq9Lx1:-1

这个时候也是出现问题的时候,服务器有可能出现jsessionid不一致的情况,

一个明显的问题在websphere下由于默认的cookie session的path为/ 如图:

这个时候如果同一台主机或者ip下部署其他应用,如果都是用JSESSIONID作为key的话,由于/的作用域大,其他的应用将受到影响,首先websphere自己会受到影响,经过测试websphere的每一次请求如下:

Set-Cookie: JSESSIONID=0000yLsny8JFy4nLxDelrrq9Lx1:-1; Path=/

然后后面多次出现信息如下:

相应

Set-Cookie: JSESSIONID= 0000IsxSqg75ELW4C0Y3YCaRgab:-1; Path=/

请求

Cookie:

JSESSIONID=8810E51861891187708C53A1805951A1(这个为tomcat的);JSESSIONID=0000yLsny8JFy4nLxDelrrq9Lx1:-1

 

遇到这种异常情况,请大家从cookie的domain,path,作用域的知识分析下,然后就应该能解决这些问题了,适当的修改下cookie的key名称,和path。

 

这里给看下百度的明显和其他的不一样用的是(baiduid作为key):

【LIN总线测试】——LIN主节点物理层测试 LIN总线是基于UART/SCI(通用异步收发器/串行接口)的低成本串行通讯协议。其目标定位于车身网络模块节点间的低端通信,主要用于智能传感器和执行器的串行通信,而这正是CAN总线的带宽和功能所不要求的部分。本章节主要介绍LIN主节点物理层如何测试? 阅读详情

相关推荐

S7-1200模拟量

将两种不同的金属或合金金属焊接起来,构成一个闭合回路,利用温差电动势来测量温度,当两端存在温度梯度时,回路中就会有电流通过,此时两端之间就存在电动势--热电动势,这就是所谓的塞贝克效应(seebeck effect)。温差越大,热电动势越高。热电偶是有正负极性的,所以需要确保导线连接到正确的极性,否则会造成明显的测量误差。为了使温度补偿达到最佳效果,必须将热电偶模块安装在温度稳定的环境中简述:两种金属,每一种金属随温度变化是不同的,出现温差--由俩金属构成的回路就会有电流经过,因此两端形成热电动势。

王阿妹小天才的博客 2591

Cookie中的JSESSIONID说明

事实上当用户访问服务器的时候会为每一个用户开启一个session,浏览器是怎么判断这个session到底是属于哪个用户呢?换句话说服务器识别session的方法是通过jsessionid来告诉服务器该客户端的session在内存的什么地方。注意此cookie由于没有设置cookie有效日期,所以在关闭浏览器的情况下会丢失掉这个cookie。浏览器会根据响应头的set-cookie信息设置浏览器的cookie并保存之。不难发现这个的jsessionid和上面的jsessionid是一样的。......

qq_42449963的博客 4509

Podman修改镜像源教程(附最新docker镜像源)

Podman修改镜像源教程(附最新docker镜像源)

道长的博客 4141

url中的jsessionid解释

(1) 这是一个保险措施 因为Session默认是需要Cookie支持的 但有些客户浏览器是关闭Cookie的 这个时候就需要在URL中指定服务器上的session标识,也就是5F4771183629C9834F8382E23BE13C4C 用一个方法(忘了方法的名字)处理URL串就可以得到这个东西 这个方法会判断你的浏览器是否开启了Cookie,如果他认为应该加他就会加上去 ...

sizhefang 962

Android Qcom USB Driver学习(十三)

该系列文章总目录链接与各部分简介: Android Qcom USB Driver学习(零) Android Qcom USB Driver学习(八) Android Qcom USB Driver学习(九)deals with the USB Power Delivery resources used by one or more ports on the basis of the local device policy the basis of the local device policy.opera

Android驱动开发 2611

【电路设计】SERDES与pcie

明确通信接口需要达到什么样的数据速率、信号完整性以及系统中各个部件的互相作用。2.

数字人生 4564

Chrome80、91版本跨域请求接口未携带cookie JSESSIONID问题

浏览器更新后发现登录接口莫名验证失败,比对请求参数后发现,发送第二次请求时cookie未携带第一次请求成功后端设置的JSESSIONID,导致后端接口又设置新的JSESSIONID,后面的请求因JSESSIONID不同验证不通过。 在网上搜索问题找了原因,是因为浏览器升级后对跨域接口默认的安全策略变了,需要手动修改策略。 解决方案 1.如果是用axios请求接口,先设置 axios.defaults.withCredentials = true 2.打开谷歌浏览器在Chrome中访问chrome://fla

lihefei_coder的博客 7857

Allegro快速编辑丝印文字操作指导

选择setup-Application Mode-placement edit。Allegro支持丝印文字的编辑,下面介绍快速编辑丝印文字的两种方法如下。这个功能还支持拷贝粘贴,可以从其它地方拷贝过来,免去了书写的麻烦。出现text edit窗口,输入自己需要的文字,点击ok。鼠标移动到丝印文字位置,文字会被高亮起来。Allegro快速编辑丝印文字操作指导。点击丝印文字,丝印会被高亮起来。选择Text edit 命令。输入需要更改后的文字,如下。右击选择text edit。以编辑下方丝印文字为例。

weixin_54787054的博客 4192

2020-11-16

1、 下面关于setMaxAge(int expires)方法参数的描述中,正确的是() A、参数代表的是cookie过期的毫秒数 B、参数代表的是cookie过期的分钟数 C、参数代表的是cookie过期的秒数 D、参数代表的是cookie过期的纳秒数 答案: C 2、 下列选项中,能够用于获取客户端所有cookie对象的方法是() A、List cookies = request.getCookies(); B、Cookie[] cookies = request.getCookies(); C、Lis

weixin_45599653的博客 5221

自主探索型AI Agent:LLM驱动的好奇心与学习动机

随着人工智能技术的飞速发展,传统的AI系统往往依赖于预设的规则和大量的标注数据,其自主学习和适应新环境的能力有限。自主探索型AI Agent旨在打破这种局限,能够在复杂、未知的环境中自主地进行探索、学习和决策。本文的目的是深入研究在大语言模型(LLM)驱动下,AI Agent如何产生好奇心和学习动机,以及如何实现自主探索的能力。范围涵盖了核心概念、算法原理、数学模型、项目实战、应用场景等多个方面,为读者提供一个全面的技术视角。本文将按照以下结构进行阐述:首先介绍相关背景知识,包括目的、读者和文档结构;

大模型应用工坊 997

Codex,Copilot 是什么

GitHub Copilot是什么 **GitHub Copilot** 是一款由 **GitHub** 和 **OpenAI** 合作开发的 **AI 代码辅助工具**,它基于 **OpenAI Codex 技术**,能够根据上下文自动生成代码建议,大幅提升编程效率

ZhangJiqun&191cm&85kg 6771

tomcat修改jsessionid在cookie中的名称

同一台server部署多个tomcat,每个tomcat里部署了同一个app作为不同的环境,在同一个浏览器同事访问不同环境的时候,session会混乱如下 :server1 登录>产生session ID>回传给客户端浏览器 > 客户端进行接下来的操作,request默认会加上JSESSIONID,就是回传的session ID, tomcat根据request里的session ID判断要不要新...

weixin_41729242的博客 745

Open3D点云数据处理(二):读写点云,你真的会吗?

本文详细介绍了open3d加载点云、保存点云的方法,同时打印点云坐标、颜色、法向量等字段信息。

孙悟空 2604

jsessionid 问题分析

转载于:http://www.blogjava.net/freeman1984/archive/2011/09/02/357833.html   这几天为了测试人员测试,就把一个tomcat应用整个拷贝了一份,改了下端口一个8080,一个8081,上下文也一样,结果出问题了:页面登陆验证码死活验证不过去,最后跟踪了下后台发现,登陆界面请求时生成验证码并将验证码放入session里面,这个ses

zgmzyr的专栏 6825

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

XSS与HTTP-only Cookie 脚本获取JSESSIONID的方法

XSS与HTTP-only Cookie介绍: XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。跨站点脚本攻击是一种服务器端的安全漏洞,常见于当把用户的输入作为HTML提交时,服务器端没有进行适当的过滤所致。跨站点脚本攻击可

收集盒 Book box 3053

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

vue 获取浏览器response cookie jsessionid获取_cookie和session

cookie产生背景HTTP协议本身是无状态的。服务器无法判断用户身份。Cookie实际上是一小段的文本信息(key-value格式)。客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时(发送同类请求:资源路径相同时携带cookie),浏览器把请求的网址连同该Cookie一同提...

weixin_39647458的博客 7797

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

springboot+vue前后端分离cookie--session问题

后端将用户的信息保存在session中,以便进行用户是否登陆的判断或从session中拿取用户信息。 我首先将验证码放在了session中,而后又从session中拿取验证码来和用户输入的验证码比较。在swagger的测试页面的时候未发现问题(因为没有跨域),但当我在vue里使用的时候却出现了登陆失败的情况。检查后发现cookie的JSESSIONID每次发送的都不一样,造成了后端每次都认为是新的会话。困扰许久,查了很多资料 下面奉上解决方法 首先配置axios请求,允许其携带cookie import

weixin_51751522的博客 5141

python获取Set-Cookies中的JSESSIONID值

python获取Set-Cookies中的JSESSIONID值 结果: 直接拿res.cookie是获取不到的 直接使用获取的是这种:这种不利于提取cookie 需要使用进行获取

Knowledge_dai的博客 3148

Cookie | Cookie的理论基础、Cookie中常用的方法

Cookie | Cookie的理论基础、Cookie中常用的方法

m0_61933976的博客 1533

session和Cookie和JSESSIONID

<% Cookie cookie = new Cookie("userName", "zhangsan"); cookie.setMaxAge(30 * 24 * 60 * 60); //保存30天//  cookie.setDomain(".baidu.com");//    cookie.setPath("/");//  cookie.setDomain("...

一只苟延残喘的卑微蝼蚁 5468

会话状态保持,JSESSIONID,COOKIE,URL重写

今天说说:会话状态保持,JSESSIONID,COOKIE之间的关系在服务器端,我们用惯了session.setAttribute("",userInfo)这样的一行代码,估计你很少想到:服务器与浏览器之间是如何保持会话状态的。好了,先引用一些文章的精彩片段:http://www.xxx.com/xxx_app;jsessionid=xxxxxxxxxx?a=x&b=x。这跟一般的url基本一样,只有一个地方有区别,那就是“;jessionid=xxxxxxxx”。这个参数有时候有,有时候又没有,说它是参数

冰冻火山 6万+

JS设置cookie、读取cookie、删除cookie的三个方法

JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。而cookie是运行在客户端的,所以可以用JS来设置cookie. 假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B页面的时候,同样需要使用JS来引用temp的变量值,对于JS中的全局变量或者静态变量的生命周期是有限

pxzsl的专栏 2590

JSESSIONID 作用

1)第一次访问服务器的时候,会在响应头里面看到Set-Cookie信息(只有在首次访问服务器的时候才会在响应头中出现该信息) 上图中JSESSIONID=ghco9xdnaco31gmafukxchph;Path=/acr,首次访问服务器时服务端创建session,HttpSession session = request.getSession(); 当这句代码需要创建session的时候,...

太阳晒屁股了的博客 2406

cookie和session和JSESSIONID

cookie和session的区别: cookie存放在客户端,session存放在服务器端 cookie不安全因为可以通过分析存放在本地的cookie session一定时间内保存在服务器上,当访问变多,占用服务器的资源性能,为了减轻资源性能最好使用cookie 单个cookie保存数据是有限的一半不超过4k,很多浏览器都限制一个站点最多保存20个cookie,而session保存在服务器端没有数量的限制,也可以保存更复杂的类型 cookie的生命周期是积累的,而session的生命周期是间隔的 由于H

qq_44718303的博客 2046

jsessionid

jsessionid

米二的博客 1695

HTTP-only Cookie 脚本获取JSESSIONID的方法

HTTP-only Cookie 脚本获取JSESSIONID的方法 实现隐藏sessionid

氼兲戦S無撩 1万+
上一篇: select中value、text的赋值、回显(修改的时候会用到)
下一篇: Spring JDBC模板类—org.springframework.jdbc.core.JdbcTemplate
OnePiece_Sky
博客等级 码龄15年 9粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值