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

2022-08-31 14:17:06

是否可以在tomcat的URL中关闭jsessionid?jsessionid似乎不太适合搜索引擎。


答案 1

您可以使用此过滤器仅禁用搜索引擎,但我建议将其用于所有响应,因为它比搜索引擎不友好更糟糕。它公开了可用于某些安全漏洞的会话 ID(更多信息)。

雄猫 6 (之前 6.0.30)

您可以使用 tuckey 重写过滤器

塔基过滤器的配置示例

<outbound-rule encodefirst="true">
  <name>Strip URL Session ID's</name>
  <from>^(.*?)(?:\;jsessionid=[^\?#]*)?(\?[^#]*)?(#.*)?$</from>
  <to>$1$2$3</to>
</outbound-rule>

雄猫 6 (6.0.30 及更高版本)

您可以在上下文配置中使用禁用 URLRewrite 来禁用此行为。

雄猫7和雄猫8

Tomcat 7 开始,您可以在会话配置中添加以下内容。

<session-config>
    <tracking-mode>COOKIE</tracking-mode>
</session-config>

答案 2
 <session-config>
     <tracking-mode>COOKIE</tracking-mode>
 </session-config> 

Tomcat 7 和 Tomcat 8 在 Web 应用程序 web.xml中支持上述配置,这会禁用基于 URL 的会话。


推荐