我正在寻找一个简单的英语,“for dummies”解释JSESSIONID如何从安全方面工作
答案 0 :(得分:13)
问:有人只知道我当前的JSESSIONID冒充/劫持我的会话吗?
答:是的。
这就是为什么您的网站小心使用Cookie非常重要。实际上,如果您担心数据包嗅探,这意味着您只应在通过HTTPS连接 1 发出请求时发送会话cookie。并设置'httpOnly'标志可以通过阻止客户端javascript等使用cookie来帮助解决问题。
问:在什么情况下,JSESSIONID将成为URL的一部分
答:通常,当网络服务器(在容器级别)将会话令牌放入URL时会发生这种情况:
显然,这是不安全和“不良做法”......虽然短暂的会话超时确实会缓解这种情况。 (或者,它可以通过HTTPS ...只要用户不与其他人 1 共享URL。)
对于Tomcat 6.x,我认为阻止容器(永远)将会话ID添加到URL的方法是将disableURLRewriting="false"
属性添加到上下文中。
对于Tomcat 7:
Context.disableURLRewriting:已删除此内容。通过在Web应用程序或全局CATALINA_BASE / conf / web.xml文件中配置session-config / tracking-mode元素,可以获得等效的效果。
1 - 这假设您已修补(等)您的网络服务器以解决已知的SSL端点漏洞。如果没有,您的HTTPS连接可能不安全。