Недавно IBM Security AppScan обнаружил проблему, в которой отсутствует защищенный атрибут в cookie-файле зашифрованного сеанса (ssl).отчет приведен ниже:
это приложение написано на Java, и я добавляю фильтр для защиты всех файлов cookie, код:
public class BasicFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) servletRequest;
Cookie[] cookies = req.getCookies();
HttpServletResponse resp = (HttpServletResponse) servletResponse;
if( cookies != null && cookies.length > 0) {
for (int i = 0; i < cookies.length; i++) {
cookies[i].setSecure(true);
cookies[i].setHttpOnly(true);
resp.addCookie(cookies[i]);
}
}
filterChain.doFilter(req,resp);
}
@Override
public void destroy() {
}
}
это работает, в то время как все cookie-файлы отвечают дважды, и он пытается войти снова и снова (войдите с помощью SSO ):
Спасибо за вашу любезную помощь и за то, как я могу помочь защитить и решить проблему с cookie, надеюсь, вы, ребята, можете дать мне некоторую идею для решения этой проблемы.Спасибо!