在sign.jsp
中,我写了以下内容,以便如果用户已经登录,那么他会立即转发到他的home page
<%
try{
HttpSession session1 = request.getSession(false);
if(session1.getAttribute("authenticated")!=null &&
session1.getAttribute("authenticated").equals(true))
{
response.sendRedirect("userhome.jsp");
}
else{
// users have to login here
}
%>
安全扫描告诉Missing HttpOnly Attribute in Session Cookie
中的sign.jsp
。
如果我要设置:<Context useHttpOnly="true">
...
</Context>
in:C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.20\conf
答案 0 :(得分:4)
如果您使用Servlet 3.0。比 在Servlet 3.0(Java EE 6)中引入了为会话cookie配置HttpOnly属性的标准方法,在web.xml中应用以下配置
<session-config>
<cookie-config>
<http-only>true</http-only>
</cookie-config>
<session-config>
答案 1 :(得分:1)
另一种方法是
Cookie cookie = new Cookie(cookieName, cookieValue);
cookie.setHttpOnly(true);
httpResponse.addCookie(cookie);
答案 2 :(得分:0)
阅读这篇文章https://access.redhat.com/solutions/338313
我认为你必须设置
<Context cookies="true" crossContext="true">
<SessionCookie secure="true" httpOnly="true" />
$ PROFILE \ deploy \ jbossweb.sar \ context.xml&#34;
中的属性