首页系统cookie设置(Cookie设置HttpOnly属性)

cookie设置(Cookie设置HttpOnly属性)

编程之家2024-01-30111次浏览

一、如何为cookie设置HttpOnly

将cookie设置成HttpOnly是为了防止XSS攻击,窃取cookie内容,这样就增加了cookie的安全性,即便是这样,也不要将重要信息存入cookie。

cookie设置(Cookie设置HttpOnly属性)

如何在Java中设置cookie是HttpOnly呢?

Servlet 2.5 API不支持 cookie设置HttpOnly

建议升级Tomcat7.0,它已经实现了Servlet3.0

但是苦逼的是现实是,老板是不会让你升级的。

cookie设置(Cookie设置HttpOnly属性)

那就介绍另外一种办法:

利用HttpResponse的addHeader方法,设置Set-Cookie的值

cookie字符串的格式:key=value; Expires=date; Path=path; Domain=domain; Secure; HttpOnly

//设置cookie

response.addHeader("Set-Cookie","uid=112; Path=/; HttpOnly");

//设置多个cookie

cookie设置(Cookie设置HttpOnly属性)

response.addHeader("Set-Cookie","uid=112; Path=/; HttpOnly");

response.addHeader("Set-Cookie","timeout=30; Path=/test; HttpOnly");

//设置https的cookie

response.addHeader("Set-Cookie","uid=112; Path=/; Secure; HttpOnly");

在实际使用中,我们可以使FireCookie查看我们设置的Cookie是否是HttpOnly

二、cookie的httponly属性为true说明

只有在http请求头中会带有此cookie的信息。cookie的属性和属性的作用中,若此属性为true,则只有在http请求头中会带有此cookie的信息,而不能通过document.cookie来访问此cookie。Cookie,有时也用其复数形式Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。

三、如何在ASP中 给Cookies设置HttpOnly属性

Asp操作Cookies(设置[赋值]、读取、删除[设置过期时间])

Response.Cookies("letwego")("visiter")="84ww"'赋值

Response.Cookies("letwego").Expires=(now()+7)'设置过期时间(7天)

userName=Request.Cookies("letwego")("visiter")'取Cookies

Response.Cookies("letwego").Expires=(now()-1)'删除Cookies,设置过期时间(-1天)

'dateadd("n",30,now())得到分钟

'dateadd("S",30,now())得到秒

一、读取

Response.Cookies("visiter")="aaa"

a=Request.Cookies("visiter")

Response.Cookies("letwego")("visiter")="aaa"

a=Request.Cookies("letwego")("visiter")

二、设置过期时间

Response.Cookies("visiter").expires=dateadd("H",8,now())'表示Cookies保存8小时

Response.Cookies("user_name").Expires=Date+1'指定cookie保存时间

保留COOKIES一个小时

Response.Cookies("MyCookie").Expires=(now()+1/24)

Response.Cookies("MyCookie").Expires= DateAdd("h", 1, Now())

Response.Cookies("CookieName").Expires=DateAdd("m",60,now())

设置60个月以后过期

Response.Cookies("User").expires=second()+7

在expires后面定义的时间可以用时间函数代替

例如:date()+7就表示在今天的时间上加上7天,而second()+7则是7秒了。

Response.Cookies("字段名").expires=时间函数+N,例如:

Response.Cookies("name2").expires=date+1,表示Cookies保存1天,再比如:

Response.Cookies("name2").expires=Hour+8,表示Cookies保存8小时。

这种方法我测试过不行(在2003server,iis6.0中),不管second后面有无加(),访问时会出现500错误(还是无法显示网页?忘了)。

织梦尤文:这里的时间累加建议还是使用DateAdd函数,比如我们要累加一小时,则使用:

Response.Cookies("baidooglecom").expires= DateAdd("h", 1, Now())

30分钟:

Response.Cookies("CookieName").Expires=DateAdd("n",30,now())

dateadd("S",30,now())得到秒

Expires指定 cookie的过期日期。为了在会话结束后将 cookie存储在客户端磁盘上,或在许多时候,我们希望能更长时间地在访问者的计算机上保存cookie。必须设置该日期。

若此项属性的设置未超过当前日期,则在任务结束后 cookie将到期。

cookie的使用到期时间为“2010年1月1日”: Response.Cookies("CookieName").Expires=#January 01, 2010#

cookie的过期时间为“cookie的创建时间+365天”:Response.Cookies("CookieName").Expires=Date+365推荐的

但最好不要随便写 Response.Cookies("CookieName").Expires=Date,这样页面之间的调用时值会为空。

-----------------------------------------------------------------------------------------------------------------------

在asp中,我们可以用response.cookies方法,定义cookies的值。方法如下:

response.cookies(cookiesname)[(key)|.attribute]=value

解释如下:cookiesname是你想要的cookies的名字,比如:test

参数key:可选参数,当然,不指定也可以了。:)

key用于指定词典式cookie的了cookie的名称。我的理解似乎与一个数组类似。

参数attribute可选,指定cookie本身的相关信息,比如指定特定的网址、路径、有效期等。

可选的值有:Domain只能读取特定域名的cookie

Expires cookie的有效期限

Haskeys是否含有子cookie

Path只能在指定路径上读取Cookie

Secure指定cookie是否加密

比如,要在本网站指定名为naxizu的cookie,方法如下:

Response.Cookies("naxizu").Domain=""‘指定访问

Response.Cookies("naxizu").Path="E-Blog"'指定E-Blog目录访问

Response.Cookies("naxizu").Expires= DateAdd("d",2,date)'指定两天后过期

Response.Cookies("naxizu")("name")="测试"

Response.Cookies("naxizu")("type")="呵呵"

上面这两句就是制作了一个词典式的cookie。

关于Haskeys的用法,相当简单,request.Cookies(cookie).Haskeys就可以了,比如要判断一个cookies是否为词典式,就可以写成

<%

If Request.Cookies("naxizu").Haskeys Then

Response.Write"这是一个词典式的Cookies"

Else

Response.Write"这不是一个词典式的Cookies"

End If

%>

参考下。

vnc 下载(Linux下VNC安全下载指南)攻击服务器(攻击服务器的方式有哪些)