2012-02-08 169 views
10

在Servlet的3.0投诉的应用程序服务器,我可以通过增加设置会话cookie(JSESSIONID)中HTTPOnly和安全标志下面到web.xml:安全和的HttpOnly标志的会话cookie的Websphere 7

<session-config> 
    <cookie-config> 
    <secure>true</secure> 
    <http-only>true</http-only> 
    </cookie-config> 
</session-config> 

然而,我正在使用的应用程序将部署在Websphere 7中,这是Servlet 2.5的投诉,如果我将上述内容添加到web.xml,则无法启动。

是否有任何其他声明方式或设置Websphere 7配置打开会话cookie的HttpOnly和安全标志?

如果不是,那么以编程方式完成该项目的最佳方法是什么?

回答

8

我认为在WebSphere 7中,您可能需要深入研究管理控制台。作为有史以来WebSphere文档似乎不佳,但似乎暗示设置com.ibm.ws.security.addHttpOnlyAttributeToCookies属性: com.ibm.ws.security.addHttpOnlyAttributeToCookies

两个安全标志和中HTTPOnly标志被设置在WebSphere Application Server属性启用。

我发现this,我希望它适用于WAS7。你可以尝试请(我只有在我的系统上瞬间被8):

JSESSIONID的cookie:

安全标志:

安全标记可以被设置通过选择AppServer - > [Server Name] - > Web Container Settings-> Session Management,在WebSphere Application Server 管理界面中。选中复选框 “限制Cookie到HTTPS会话”。

中HTTPOnly标志:

HTTPOnly属性则目前无法在这个cookie设置。此 在IBM网站上注册为APAR PK98436。此APAR 的修补程序当前的目标是包含在尚未提供的修订包6.1.0.31和7.0.0.9, 中。通过使用此APAR,可以通过属性名称在com.ibm.ws.webcontainer.httpOnlyCookies上的JSESSIONID cookie上设置HTTPOnly 标志。有关启用WebContainer自定义属性的说明,请参阅以下技术说明 。

com.ibm.ws.webcontainer.httpOnlyCookies属性记录在WAS 7帮助网站上。

+0

感谢您的链接。但是,从我的理解中,JSESSIONID(等等)不会受到该属性的影响。对? – mmutilva 2012-02-08 12:56:15

+0

现在编辑原文以专门解决JSESSIONID – planetjones 2012-02-08 13:07:52

+0

谢谢。我认为第二个链接是针对Tivoli的,不是吗?你从哪里得到“Both Secure flag和HTTPOnly标志是由......启用的”引用? – mmutilva 2012-02-08 18:10:55

0

在WebSphere 7,您可以在管理控制台下服务器>的WebSphere应用服务器>[服务器名称]>会话管理(在 “容器设置”)>启用Cookie发现这>将Cookie限制为HTTPS会话

3

为了安全标志设置为JSESSIONID的cookie(同样为WebSphere和7.X):

  • 登录登录WebSphere管理控制台
  • 导航到服务器>服务器类型> WebSphere应用程序服务器
  • 单击服务器名称(默认为server1的
  • 点击链接Web容器设置> Web容器
  • 点击链接会话管理
  • 点击链接启用Cookie。该位利尔有点混乱,你必须 点击文本没有对复选框
  • 选择选项(复选框)限制cookies来HTTPS会话
  • 保存改变

将WebSphere 8.x中的HttpOnly标志设置为JSESSIONID Cookie

  • 登录登录WebSphere管理控制台
  • 导航到服务器>服务器类型> WebSphere应用程序服务器
  • 单击服务器名称(默认为server1的
  • 点击链接Web容器设置> Web上集装箱
  • 点击链接会话管理
  • 点击链接打开Cookies。该位利尔有点混乱,你必须点击文字不上的复选框
  • 选择选项(复选框)设置会话cookie中HTTPOnly以帮助防止跨站点脚本攻击
  • 保存改变

要在WebSphere 7设定的HttpOnly标志。x到JSESSIONID饼干

  • 登录登录WebSphere管理控制台
  • 导航到服务器>服务器类型> WebSphere应用程序服务器
  • 单击服务器名称(默认为server1的
  • 点击链接Web容器设置> Web容器
  • 点击链接企业的性质定制
  • 点击按钮
  • 输入com.ibm.ws.webcontainer.httpOnlyCookies:*(仅Http将在所有的cookies设置不仅JSESSIONID)
  • 点击OK按钮
  • 保存改变