首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >httpOnly会话Cookie +Servlet3.0(例如Glassfish v3)

httpOnly会话Cookie +Servlet3.0(例如Glassfish v3)
EN

Stack Overflow用户
提问于 2010-06-14 02:12:31
回答 2查看 13.2K关注 0票数 18

默认情况下,Glassfish v3不会在会话cookie上设置httpOnly标志(当使用request.getSession()创建时)。

我知道,有一个方法javax.servlet.SessionCookieConfig.setHttpOnly(),但我不确定,这是否是最好的方法,如果是,最好的位置是放那一行。

顺便说一句,当然它不能在servlet本身中完成(例如在init()中):

java.lang.IllegalStateException: PWC1426: 
Unable to configure httpOnly session tracking cookie property for 
servlet context /..., because this servlet context has already been initialized

通常,我更喜欢使用配置选项,例如在web.xml中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-14 04:13:33

这是通过Servlet3.0 web.xml (参见web-common_3_0.xsd)支持的:

<web-app>
  <session-config>
    <cookie-config>
      <!--             
        Specifies whether any session tracking cookies created 
        by this web application will be marked as HttpOnly
      -->
      <http-only>true</http-only>
    </cookie-config>
  </session-config>
</web-app>
票数 23
EN

Stack Overflow用户

发布于 2014-10-15 21:40:32

您还可以添加<secure>true</secure>来增强安全性。

<session-config>
    <cookie-config>
        <http-only>true</http-only> 
        <secure>true</secure>
    </cookie-config>
</session-config>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3033349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档