一尘不染

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

java

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


阅读 593

收藏
2020-03-23

共1个答案

一尘不染

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

Tomcat 6(6.0.30之前的版本)

你可以使用tuckey重写过滤器。

Tuckey过滤器的示例配置:

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

Tomcat 6(6.0.30及更高版本)

你可以在上下文配置中使用disableURLRewriting禁用此行为。

Tomcat 7和Tomcat 8

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

<session-config>
    <tracking-mode>COOKIE</tracking-mode>
</session-config>
2020-03-23