[英]Solve “missing secure attribute in encrypted session (ssl) cookie” with Java
最近,IBM Security AppScan 發現了加密會話 (ssl) cookie 中缺少安全屬性的問題。 報告如下:
這個應用程序是 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 問題,希望你們能給我一些解決這個問題的想法。 謝謝!
IBM 支持論壇中也發布了相同的問題。 您應該研究配置修復。 請看這里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.