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

新手上路,请多包涵

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

原文由 Roy Chan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 526
2 个回答

您可以仅对使用此过滤器的搜索引擎禁用,但我建议 对所有响应使用它, 因为它比仅对搜索引擎不友好更糟糕。它公开了可用于某些安全漏洞的会话 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 来禁用此行为。

雄猫 7 和雄猫 8

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

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

原文由 Pool 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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

原文由 Spektr 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题