Отсутствует атрибут 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"