解决方案
这种缺陷 (找到 在这里,)点的方式解决。在Tomcat实例的运行在Boss配置emptySessionPath="真正的",而不是"错误",这是默认的。这可以修改 .../deploy/jboss-web.deployer/server.xml
;HTTP并AJP接有这个选项。
的特征本身是用来消除上下文路径(例如。"foo"在 http://example.com/foo)从被包括在JSESSIONID cookie。设置虚假将打破应用程序依赖于跨应用程序的验证,其中包括东西建立采用某些门户网站的框架。它没有产生负面影响的应用问题,但是。
其他提示
这个问题和具体情况下发生的问题是,在Tomcat以及Boss.Tomcat股的emptySessionPath="真正"的效果(和实际上Boss继承它从Tomcat).
这似乎是个错误,在Tomcat和Boss当你试图阻止届会议的固定攻击,但servlet规范(至少2.3版)实际上并不需要JSESSIONID定义或重新界定了根据任何特定的逻辑。也许,这已经被清理后的版本。
一个解决方法是储存户地址在本届会议。一个响应的包装应该验证客户的地址设在本届会议是一样的访问会议。
我才知道下面设定的片段,从一个论坛。我加入下面的线条。但当我打印本届会议ID之前登入应用程序是相同的。我怎么会试届会议的固定。
D:\jboss-5.1.0.GA\bin un.cof 文件并添加下面的线。设置"JAVA_OPTS=%JAVA_OPTS%-Dorg.apache.卡塔利娜.连接器。请求。SESSION_ID_CHECK=false"
在每context.xml 的boss应用程序。D:\jboss-5.1.0.GA\server\default\deploy\jbossweb.sar\context.xml