您的位置:首页 > 理论基础 > 计算机网络

Cookie设置HttpOnly,Secure,Expire属性

2018-03-30 17:47 996 查看
在Web工程上增加一个Filter对Cookie进行处理public class CookieFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;

Cookie[] cookies = req.getCookies();

if (cookies != null) {
Cookie cookie = cookies[0];
if (cookie != null) {
/*cookie.setMaxAge(3600);
cookie.setSecure(true);
resp.addCookie(cookie);*/

//Servlet 2.5不支持在Cookie上直接设置HttpOnly属性
String value = cookie.getValue();
StringBuilder builder = new StringBuilder();
builder.append("JSESSIONID=" + value + "; ");
builder.append("Secure; ");
builder.append("HttpOnly; ");
Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR, 1);
Date date = cal.getTime();
Locale locale = Locale.CHINA;
SimpleDateFormat sdf =
new SimpleDateFormat("dd-MM-yyyy HH:mm:ss",locale);
builder.append("Expires=" + sdf.format(date));
resp.setHeader("Set-Cookie", builder.toString());
}
}
chain.doFilter(req, resp);
}

public void destroy() {
}

public void init(FilterConfig arg0) throws ServletException {
}
}web.xml:
<filter>      <filter-name>cookieFilter</filter-name>      <filter-class>com.sean.CookieFilter</filter-class>  
</filter>    
<filter-mapping>      <filter-name>cookieFilter</filter-name>  
    <url-pattern>/*</url-pattern>  </filter-mapping>  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: