我在生产环境中使用Tomcat,在测试环境中使用jetty (通过jetty-maven-plugin)。
Tomcat在jsessionid-cookie上设置安全标志,当它通过安全通道(https)挖掘它时,这对我来说是个好主意,因为当用户在http://-link上点击时,它可以防止会话被暴露。但Jetty并非如此!
我想强制Jetty的行为像Tomcat一样,并且总是在jsessionid-cookie上设置secure-flag,通过安全通道发送,因为除此之外,我的测试环境的行为与我的生产环境有很大不同。但我找不到任何配置选项来实现这一点。
我还想知道,这是不是Jetty中的安全漏洞。这是因为如果用户切换回不安全的信道,则不将在安全信道上发送的jsessionid-cookie标记为安全就会揭示安全会话。
发布于 2012-08-14 16:55:06
我添加以下内容只是为了显示对我有效的完整示例。
将以下内容放入WEB-INF/jetty-web.xml中
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Get name="sessionHandler">
<Get name="sessionManager">
<Set name="secureCookies" type="boolean">true</Set>
</Get>
</Get>
</Configure>发布于 2011-05-03 00:27:38
可以将设置secureCookies属性所需的配置更改添加到jetty-web.xml文件:
<Get name="sessionHandler">
<Get name="sessionManager">
<Set name="secureCookies">true</Set>
</Get>
</Get>https://stackoverflow.com/questions/3038223
复制相似问题