Отсутствует атрибут HttpOnly в файле cookie сеанса

В 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>

в: C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.20\conf

тогда моя проблема будет решена или что еще мне нужно сделать? Любое предложение высоко ценится

3 ответа

Решение

Если вы используете Servlet 3.0. В Servlet 3.0 (Java EE 6) представлен стандартный способ настройки атрибута HttpOnly для файла cookie сеанса с применением следующей конфигурации в файле web.xml.

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

Другой подход

Cookie cookie = new Cookie(cookieName, cookieValue);
cookie.setHttpOnly(true);
httpResponse.addCookie(cookie); 

Прочитайте эту статью https://access.redhat.com/solutions/338313

Я думаю, что вы должны установить

<Context cookies="true" crossContext="true">
  <SessionCookie secure="true" httpOnly="true" />

атрибуты в "$PROFILE\deploy\jbossweb.sar\context.xml"

Другие вопросы по тегам