问题标签 [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 投票
5 回答
427611 浏览

java - 在什么条件下创建 JSESSIONID?

创建a 的时间/条件JSESSIONID是什么?

它是每个域吗?例如,如果我有一个 Tomcat 应用程序服务器,并且我部署了多个 Web 应用程序,JSESSIONID每个上下文(Web 应用程序)是否会创建不同的应用程序,或者只要它们是同一个域,它是否会在 Web 应用程序之间共享?

0 投票
8 回答
76558 浏览

java - 更改 cookie JSESSIONID 名称

我需要在单个物理框中运行多个 tomcat 服务器。从浏览器访问这些内容时,当用户在应用程序之间切换时,会导致用户注销之前访问的应用程序。这是因为 JSESSIONID cookie 冲突。

一种可能的解决方案是在不同的上下文中运行每个应用程序。不幸的是,我的应用程序无法在上下文路径设置中工作,因为没有任何资源可以通过前面附加的 request.getContextPath() 访问。

这让我更改 cookie JSESSIONID 的名称来解决冲突。有没有办法做到这一点?如果是,如何?

希望我能清楚地说明我的问题。

注意:我所有的应用程序都在同一台机器的不同端口上运行。

0 投票
8 回答
78818 浏览

java - 是否可以在 tomcat servlet 中禁用 jsessionid?

是否可以在tomcat的url中关闭jsessionid?jsessionid 似乎对搜索引擎不太友好。

0 投票
7 回答
49066 浏览

jsp - jsessionid出现在jstl生成的所有url中标签

我有一些奇怪的错误:当我第一次在某些浏览器中打开页面时,所有引用都有 jsessionid 参数(如<a href="/articles?name=art&jsessionid=5as45df4as5df"..>)。

当我按 F5 或以任何其他方式刷新页面时,所有内容都会消失,并且一切正常,直到我关闭浏览器(并且所有选项卡也应该关闭)。当我再次打开它时,我看到了这个奇怪的 jsessionid 参数。

我使用 jstl<c:url..>标签来创建所有 URL。

前段时间我读到如果禁用 cookie,jsessionid 是 cookie 的替代品,但启用了 cookie 并且我实际上不使用 cookie。

0 投票
3 回答
4149 浏览

cookies - 使用 JRun/ColdFusion 强制使用 HttpOnly cookie

我们需要确保 CF7 站点上的所有 cookie 都设置为 HttpOnly。

我们使用 jsessionid 来控制我们的会话,而 JRun 不会将其创建为 HttpOnly。

虽然可以修改现有 cookie 以添加此设置,但我们需要从一开始就将其设置为 HttpOnly。

有什么建议么?


相关问题:为 HTTPS cookie 设置安全标志。

0 投票
1 回答
2989 浏览

security - 使用 JRun/ColdFusion 在 HTTPS(用于混合 HTTPS/HTTP 站点)时设置安全 cookie

我们有一个在 CF7 上运行的站点,该站点具有登录和注销部分,并使用 jsessionid 进行会话。

当切换到 HTTPS(用于安全部分)时,我们需要启动一个新的安全会话,在 jsessionid cookie 上设置“安全”标志。

虽然 JRun 有一个设置“安全”的选项,但它似乎是一个孤注一掷的交易。

有没有办法在 HTTPS 模式下始终使用 Secure?


相关问题:为所有 cookie 设置 HttpOnly 标志

0 投票
1 回答
1718 浏览

tomcat6 - Tomcat 6 中的会话跟踪

可以在 Tomcat 6 中关闭会话跟踪。我的意思是,避免创建 cookie JSESSIONID

谢谢路易斯

0 投票
1 回答
7263 浏览

java - Java SessionID:如何获取 GET SessionID 参数的名称?

似乎 GET 请求中的 Parameter-Name 代表 SessionID(如 Tomcat 中的 jsessionid=XXXXXXXXXXXXXXXXXXXXXXXXXX)在 servlet-spec 中没有标准化?如何获取 SessionID 的(Servelt Container Specific)名称?(至少在 Websphere 中似乎有可能更改 SessionID-Parameter-Name 的名称)

=> 潜在的问题是,我需要在 servlet ALWYAS 中使用会话 ID 对 URL 进行编码。但似乎“response.encodeURL()”方法仅在禁用 Cookie 时才执行此操作(=>因此使用 URL 重写和 URL 中的 sessionID)。

在 servlet 中始终使用会话 ID 对 URL 进行编码的替代方法是什么?正如第一个问题所暗示的那样,我想自己构建 sessionid,但因此我需要 sessionID-Parameter Name 但是似乎没有标准化,所以我需要从某个地方获取 Parameter-Name ...)

更新:目的是保留 Servlet-Container 提供的 SessionManagement 功能,而不是完全关闭它。我需要将回调 URL 传递给我希望始终包含 SessionURL 的第三方系统。所以我只想用 sessionID对这个单一的 URL 进行编码,以尽量减少任何安全问题......

非常感谢简

0 投票
1 回答
1834 浏览

c# - HttpWebRequest sessionID c# login

我正在尝试使用控制台应用程序和 c# httpWebRequest 登录网站 (www.vodafone.ie)。问题是它大约 50% 的时间都可以正常工作。

我使用 fiddler 找出我需要发出的 GET 和 POST 请求。做到这一点,我的应用程序将尽我所能成功地重新创建这些。步骤是;1) 使用 cookie 容器获取登录 uri 的请求。服务器响应设置名为 jsessionID 的新 cookie 2) 使用登录凭据和包含先前 jsessionID 的相同 cookie 容器执行 POST 请求。

查看成功 POST 请求登录(浏览器或我的应用程序)的提琴手日志,我看到它在响应标头中设置了一个东西:“Set-cookie: supercookie=-; Expires=Thu, 01-Jan-1970 00:00:10格林威治标准时间;路径=“。这是什么超级饼干?它没有像 jsessionID 那样在响应 cookie 集合中返回给我。在极少数情况下,超级cookie 会出现一串数字,而不仅仅是“-”。

在分析请求/响应标头之前,我确保清除所有 cookie。如果未在响应中设置超级 cookie,我的登录将失败。所以只是想知道这里发生了什么?

干杯!

0 投票
3 回答
4575 浏览

tomcat - 每页多个有状态的 iframe 会覆盖 JSESSIONID?

寻找某人来证实或反驳我的理论,即部署两个 iframe 指向同一域上的两个不同的有状态页面会导致 JSESSIONID 被覆盖。这就是我的意思:

设置

  1. 假设您有两个页面需要 HttpSession 状态(会话亲和性)才能正常运行 - 部署在http://www.foo.com/ page1http://www.foo.com/ page2
  2. 假设 www.foo.com 是运行 Tomcat(6.0.20,fwiw)的单个主机,该主机使用 JSESSIONID 作为会话 ID。
  3. 假设这些页面变成了两个 iframe 小部件嵌入到第 3 方网站:http://www.site.com/page1" />(和 /page2 分别)
  4. 假设有一个第三方网站希望将两个小部件放在同一页面上http://wwwbar.com /foowidgets.html

是否会发生以下竞态条件?

  1. 一位新访客访问http://www.bar.com/foowidgets.html
  2. 浏览器开始加载 foowidgets.html 中的 URL,包括两个 iframe 'src' URL
  3. 因为浏览器针对同一主机打开多个并发连接(在 chrome/ff 情况下最多 6 个),浏览器碰巧同时发出对http://www.foo.com/page1http://www.foo.com的请求/第2页
  4. tomcat@foo.com 几乎同时接收到这两个请求,第一次调用 getSession()(在两个不同的线程上)并懒惰地创建两个 HttpSession,因此,两个 JSESSIONID 的值分别为 $Page1 和 $Page2。这些请求还将数据填充到相应的会话中(处理后续请求需要这些数据)
  5. 假设浏览器首先收到对 page1 请求的响应。浏览器为 HOST www.foo.com 设置 cookie JSESSIONID=$Page1
  6. 收到对 page2 请求的下一个响应,浏览 器用 $Page2覆盖 HOST www.foo.com 的 cookie JSESSIONID
  7. 用户点击 foowidgets.html 上“page1”iframe 中的某些内容;浏览器向http://www.foo.com/page1?action=doSomethingStateful发出第二个请求 。该请求带有 JSESSIONID=$Page2 (而不是 $Page1 - 因为 cookie 值被覆盖)
  8. 当 foo.com 收到此请求时,它会查找错误的 HttpSession 实例(因为 JSESSIONID 键是 $Page2 而不是 $Page1)。富吧!

上述情况会发生吗?我想是的,但希望得到确认。

如果上述显然是可能的,考虑到我们希望每页支持多个 iframe,有哪些解决方案?我们并不迫切需要 iframe 共享相同的 HttpSession,尽管这样会很好。如果解决方案仍会为每个 iframe 规定一个单独的 HttpSession,那么 iframe 1 最终不会引用 iframe 2 的 httpSession 状态而不是自己的状态是强制性的。

在我的脑海中,我能想到:

  1. 将 page1 和 page2 映射到不同的域(操作开销)
  2. 使用 URL 重写,从不使用 cookie(搞乱分析)
  3. 还要别的吗?

非常感谢,-尼基塔