Roy*_*han 67 java tomcat servlets jsessionid
是否有可能在tomcat的url中关闭jsessionid?jsessionid似乎对搜索引擎不太友好.
Poo*_*ool 67
您可以使用此过滤器禁用搜索引擎,但我建议将其用于所有响应,因为它比不友好的搜索引擎更糟糕.它公开了可用于某些安全漏洞的会话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>
Run Code Online (Sandbox Code Playgroud)
Tomcat 6(6.0.30及以后)
您可以在上下文配置中使用disableURLRewriting来禁用此行为.
Tomcat 7和Tomcat 8
从Tomcat 7开始,您可以在会话配置中添加以下内容.
<session-config>
<tracking-mode>COOKIE</tracking-mode>
</session-config>
Run Code Online (Sandbox Code Playgroud)
Spe*_*ktr 50
<session-config>
<tracking-mode>COOKIE</tracking-mode>
</session-config>
Run Code Online (Sandbox Code Playgroud)
Tomcat 7和Tomcat 8在您的web-app web.xml中支持上述配置,该配置禁用基于URL的会话.
Dou*_*oug 19
可以在Tomcat 6.0中执行以下操作:disableURLRewriting
http://tomcat.apache.org/tomcat-6.0-doc/config/context.html
例如
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="PATH_TO_WEBAPP" path="/CONTEXT" disableURLRewriting="true">
</Context>
Run Code Online (Sandbox Code Playgroud)
在Tomcat 7.0中,它由应用程序中的以下内容控制:ServletContext.setSessionTrackingModes()
Tomcat 7.0遵循Servlet 3.0规范.
And*_*ffy 13
使用Filter上封装了所有URL response中HttpServletResponseWrapper,简单地将URL返回从不变encodeRedirectUrl,encodeRedirectURL,encodeUrl和encodeURL.
引用池的回答:
您可以使用tuckey重写过滤器.
您可以使用此过滤器禁用搜索引擎,但我建议将其用于所有响应,因为它比不友好的搜索引擎更糟糕.它公开了可用于某些安全漏洞的会话ID(更多信息).
值得一提的是,即使jsessionid不再可见,这仍然允许基于cookie的会话处理.(取自他的另一篇文章:我可以关闭web.xml中的HttpSession吗?)
PS.我没有足够的声誉来评论,否则我会在上面的帖子中添加这个作为评论.
| 归档时间: |
|
| 查看次数: |
70811 次 |
| 最近记录: |