问题描述
|
我试图了解JSessionId的唯一性和范围,因为它涉及多个不相关的域。
我已经阅读了JSESSIONID是在什么条件下创建的,但是仍然有一些问题-
特别:
如果用户访问“ 0”,并且该应用程序调用“ 1”以加载数据,是否创建了两个jsessionId \-每个域一个?
同样,当呼叫转到
www.app2.com
时,是否传递了有关from0ѭ中的jsessionid的任何信息?
重定向对此有什么影响? (例如,请求“ 4”重定向到“ 5”)
解决方法
如果用户访问www.app1.com,并且该应用程序调用了
www.app2.com加载数据,是创建两个jsessionId \-每个
域?
是。更准确地说,每个单独的WebApp都会为其域发布自己的cookie。因此,如果映射了不同的Web应用程序,则www.app1.com/1和www.app1.com/2将具有不同的cookie。
同样,当呼叫打入www.app2.com时,是否包含任何信息?
关于从www.app1.com传来的jsessionid?
否,但请阅读有关XSS和CSRF的内容,以了解保护您的应用程序为什么很好的原因,因为将脚本传递到另一个URL的脚本并不难。
重定向对此有什么影响? (例如,请求
http://app1.com/login.jsp重定向到http://app2.com/login.jsp)
没有任何。如果您碰巧已经同时登录到这两个帐户,则之后可能会登录。注销一个不会影响另一个。 (如果您希望真正的单次登录/单次退出,则两个应用程序都必须信任第三方,例如CAS服务器或Kerberos服务器)。
,
JSESSIONID
是会话cookie。此Cookie设置为domain
,因此在您的情况下,您将有2个cookie,它们都称为JSESSIONID
,且其domain
属性中的路径不同。