首页 > 编程知识 正文

java调用http接口,java cookie使用

时间:2023-05-03 12:47:51 阅读:40637 作者:4444

HttpOnly Cookies是cookie安全线的解决方案。

在支持HttpOnly Cookies的浏览器(IE6,FF3.0 )中,如果将Cookie设置为“HttpOnly”属性,则JavaScript脚本将无法读取Cookie信息,从而有效防止XSS攻击,并防止sasa

但是,J2EE4和J2EE5cookie不提供设置HttpOnly属性的方法,因此如果需要设置HttpOnly属性,则必须自行处理。

导入javax.servlet.http.cookie;

import javax.servlet.http.http无servlet保罗;

公共类套接字util {

//*

HttpOnly Cookie设置

* @ param响应http响应

* @param cookie Cookie对象

* @param isHTTPOnly是HttpOnly吗

*/

publicstaticvoidaddcookie (httpservletresponseresponse,Cookie cookie,布尔is http only ) {

String name=cookie.getName (; //Cookie名称

String value=cookie.getValue (; //Cookie值

int maxAge=cookie.getMaxAge (; //最大生存时间(毫秒,0表示删除,-1表示与浏览器会话匹配)。

String path=cookie.getPath (; //路径

String domain=cookie.getDomain (; //域

booleanissecure=cookie.get secure (; //是否为安全协议信息

stringbuilder buffer=new stringbuilder (;

buffer.append(name ).append ('='.append ) ) value ).append ) ); )。 );

if (最大值==0) {

buffer.append (expires=thu Jan 0108336000336000 CST 1970; ' );

}elseif(maxage0) )。

buffer.append('max-age=' ).append ) (maxage ).append ) )。 );

}

域!=空) {

buffer.append('domain=' ).append (domain ).append )、';' );

}

If (路径!=空) {

buffer.append('path=' ).append (path ).append ) )。 );

}

if (is安全) {

buffer.append('secure;' );

}

if(ishttponly )

buffer.append('httponly;' );

}

response.addheader('set-cookie ',buffer.toString ) );

}

}

顺便说一下,在Java EE 6.0中,Cookie已经可以设置HttpOnly,因此对于与Java EE 6.0兼容的容器(如Tomcat 7),可以直接使用Cookie.setHttpOnly的方法设置HttpOnly。

cookie.sethttponly(true;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。