如何让java支持httponly

2025年05月07日 18:49
有1个网友回答
网友(1):

目前sun公司还没有公布相关的API,但PHP、C#均有实现。搞javaEE的兄弟们比较郁闷了,别急下文有变通实现

HttpOnly的设置样例
javaEE
1 response.setHeader("Set-Cookie", "cookiename=value;
2 Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");
具体参数的含义再次不做阐述,设置完毕后通过js脚本是读不到该cookie的,但使用如下方式可以读取
1 Cookie cookies[]=request.getCookies();
C#
1 HttpCookie myCookie = new HttpCookie("myCookie");
2 myCookie.HttpOnly = true;
3 Response.AppendCookie(myCookie);
VB.NET
1 Dim myCookie As HttpCookie = new HttpCookie("myCookie")
2 myCookie.HttpOnly = True
3 Response.AppendCookie(myCookie)

但是在.NET 1.1 ,中您需要手动添加
1 Response.Cookies[cookie].Path += ";HTTPOnly";
PHP4
1 header("Set-Cookie: hidden=value; httpOnly");

PHP5
1 setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
最后一个参数为HttpOnly属性