|
主题:[已答复]会话Cookie中缺少HttpOnly属性 [收藏主题] |
![]() ![]() ![]() ![]() |
![]() 参考下这个呢:
解决方法:基本上,cookie 的唯一必需属性是“name”字段。常见的可选属性 如下:“comment”、“domain”、“path”,等等。必须相应地设置“HttpOnly”属性,才 能防止会话 cookie 被脚本访问。参考如下: package com.neusoft.streamone.framework.security.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; public class CookieHttpOnlyFilter implements Filter { @Override public void destroy() { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { Cookie[] cookies = ((HttpServletRequest)request).getCookies(); if(cookies!=null) { for(Cookie cookie : cookies){ //tomcat7 支持该属性,tomcat6 不支持 cookie.setHttpOnly(true); } } filterChain.doFilter(request, response); } @Override public void init(FilterConfig arg0) throws ServletException { } } |
|
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
<上一主题 | 下一主题 > |