问题标签 [jsessionid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8003 浏览

java - 如何根据用户数据的一些哈希生成自定义 JSESSIONID 以复制会话

是否可以覆盖 Tomcat 的嵌入式 JSESSIONID 生成器,以便能够根据用户的登录创建此 cookie 的自定义值?

为什么我需要这个:我有一个带有“粘性会话”的负载均衡器,配置为将具有相同 JSESSIONID 的请求路由到同一台服务器,并且我想防止出现同一用户可以在不同服务器上启动两个不同会话的情况。

PS:这一切都是关于 Amazon EC2

0 投票
1 回答
879 浏览

java - Servlet 会话 - 从 URL 重写切换到 Cookie

情况:我有一个“愚蠢”的 Javascript 前端,可以联系某种 SSO 中间件 (MW)。MW 可以通过发出包含认证凭证(用户名、密码)的请求来获取会话。即会话将为某个用户创建。

我的前端需要“重新启动”会话以获取用户对目标系统的权限。为此,我需要一个有效的会话 cookie。

目标系统不在我的控制之下(可能是或多或少的公共 WFS、WMS 等),因此我无法向其添加任何 SSO 机制。

问题:是否可以“窃取”会话伪造请求,其中 URL 在 jsessionid 参数中包含有效会话 ID?

目标:向 Servlet 发出这样的请求,并使其响应包含相同 id 的 Set-Cookie 标头。这样,前端就可以加入会话,并且可以执行用于创建会话的用户能够执行的任何操作。

0 投票
2 回答
37429 浏览

java - 在 JSESSIONID cookie 中设置 httponly (Java EE 5)

我正在尝试在 JSESSIONID cookie 上设置 httponly 标志。但是,我正在使用 Java EE 5,无法使用setHttpOnly(). 首先,我尝试doPost()使用response.setHeader().

当那不起作用时,我尝试了response.addHeader(). 那也没有用。然后,我了解到 servlet 处理将会话转换为 JSESSIONID cookie 并将其插入到 http 标头中,因此如果我想使用该 cookie,我将不得不编写一个过滤器。我写了一个过滤器并在那里玩setHeader()/ addHeader(),再次无济于事。

然后,我了解到响应对象在到达过滤器之前会执行一些刷新/关闭操作,所以如果我想操作数据,我需要扩展HttpServletResponseWrapper并将其传递给filterChain.doFilter(). 这已经完成,但我仍然没有得到结果。显然我做错了什么,但我不知道是什么。

我不确定这是否与手头的问题完全相关,但是 servlet 没有将 html 文档返回给浏览器。真正发生的只是一些对象被填充并返回到 JSP 文档。我有点假设 Session 对象被转换为 JSESSIONID cookie 并在发送到浏览器之前将其与添加到请求中的对象一起包装在 http 标头中。

我很乐意发布一些代码,但我想排除我的困难首先源于对理论的误解的可能性。

0 投票
1 回答
1608 浏览

glassfish - GlassFish v3 JSESSIONID 多个子域和 TLD

我们正在构建一个 Web 应用程序来服务多个区域网站 TLD。此外,Web 应用程序还支持数以千计的动态子域。示例包括:

虽然我们可以理解不同的域 TLD 会导致新会话,但上述后两个示例开始出现问题,这也会导致新会话实例。例如,如果用户:

  1. 转到:www.example.co.uk 创建一个新会话,然后...
  2. 点击链接:fred123.example.co.uk 创建一个新会话,然后...
  3. 点击一个链接:sam99.example.co.uk 一个新的会话被创建...

3 次点击 ==>> 3 次会议!!!!

问题似乎是由于 GlassFish v3 自动将 JSESSIONID 的域设置为主机请求的 FQDN。

需要的是至少将主机名部分从域值中剥离,以具有如下域值:

有谁知道如何实现这一点。我发现了以下问答,但在我们的案例中,子域 TLD 并不完全匹配:

处理 JSP 会话的问题

因此,静态配置 sun-web.xml 或使用 Servlet 3.0 解决方案的解决方案似乎没有帮助。此外,创建过滤器响应包装器也不起作用,因为 JSESSIONID cookie 是在应用程序服务器的较低级别分配的,并且不会暴露给 Web 应用程序以进行拦截。

我认为我仅有的另外两个选择是:

a) 修补将 JSESSIONID cookie 域值设置为 FQDN 的 GlassFish v3 代码,以便发生一些剥离或

b) 在 Sun Web Server 7.0 反向代理层中做一些事情,我们必须重写 set-cookie 标头中返回的 JSESSIONID cookie 域值,但是我无法找到有关如何执行此操作的示例

任何人都可以帮助解决这个问题吗?任何线索/帮助将不胜感激!

0 投票
3 回答
9239 浏览

iphone - 使用 NSHTTPCookieStorage 访问会话 cookie

我正在访问服务器的安全信息,它会根据请求向应用程序发送一堆 cookie。问题是一些cookies只是会话,当我使用时:

它不会返回名称为 JSESSIONID 的会话并导致问题。如果我对完整的 NSHTTPCookieStorage 进行 NSLog 记录,它会显示会话,以便它们在那里,我只是找不到从存储中检索它们的方法。此外,我查看了 cookie plist 并且会话 cookie 没有存储在那里,但我认为这只是因为它们是基于会话的。

任何帮助表示赞赏。

编辑:这是我要求所有 cookie 时得到的片段:

现在,当我根据上述 cookie 中的 URL 请求 cookie 时,第一个被返回,第二个没有。

*请注意,对于必须删除某些项目感到抱歉,它们符合预期,与问题无关

0 投票
1 回答
50336 浏览

java - 我如何在java中获取会话ID

我想在java中构建一个api来解决在任何网站中将一个页面移动到另一个页面时发生的安全图像问题。如何获取会话 ID 和 cookie,以便我可以将其与安全图像字符串一起发布。

谢谢

0 投票
1 回答
1063 浏览

java - firefox和safari中的JSESSIONID路径不同

我在设置 JSESSIONID 路径时遇到问题。

在 Firefox 中它设置为 / 没问题,但在 safari 和 IE 中它以某种方式设置为 %22%22 所以我无法使用 safari 和 Firefox 登录。

我在后端使用tomcat 7和spring security。

在这方面的任何帮助将不胜感激。

0 投票
1 回答
2634 浏览

java - 从 JSESSIONID 中删除服务器名称

我们的应用程序在 JBOSS 上运行,其前端在 Apache 上运行。在外部访问 URL 时,JSESSIONID 会在 cookie 的 Content 属性中显示服务器名称。

有什么想法可以删除吗???

谢谢,

0 投票
1 回答
2764 浏览

java - 为什么在没有 jsessionid 的情况下拒绝访问资源?

我已经构建了一个在我自己的本地环境中运行良好的应用程序。但是,当我部署到使用 Siteminder 进行身份验证的开发环境时,我会收到所有图像和 css 文件的“拒绝访问”。我注意到在身份验证后有一个 jsessionid 附加到 url,因此测试手动将 jsessionid 复制+粘贴到图像 url。图像现在显示!

有人知道可能出了什么问题吗?为什么 jsessionid 对于访问图像和 css 很重要?

如果有帮助,我很乐意发布任何代码示例...

**编辑

我打开了一些额外的日志记录,我知道问题出在哪里,但不是真的如何解决它。

我的 Spring 安全设置:

0 投票
2 回答
3118 浏览

java - 用于 JSESSIONID 的编码?

我很想知道 jsessionid 使用哪种编码。

jsessionid 值始终只包含字母数字字符,不包含其他字符,这使得这种编码对 URL 中的用户更安全。