如何为cookie设置HttpOnly

如何为cookie设置HttpOnly,第1张

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

%>

参考下。

众说周知,Cookie 在浏览器里可以保存一些例如 tokenId 等的一些控制系统登 录状态的数据。通过 Cookie 和 Session 技术来实现记录访问者的一些基本信息, Cookie 可以翻译为“小甜品,小饼干” ,Cookie 几乎在所有的网络中都会出现,Cookie 实际上是指小量信息,是由 Web 服务器创建的,将信息存储在用户计算机上的文件。一般习惯用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 Session 跟踪而存储在用户本地终端上的数据,而这些数据通常会经过加密处理。

有些Cookie 是有限制的,一旦超过时间限制,就会被系统删除。很多人担心Cookie 会泄露用户的一些信息。但这是多余的,Cookie 是不能通过跨域来访问的,还有一些对象是不能脱离Cookie 来实现的,比如Session。这里还有一个点,就是客户端Cookie 数量最多为300个,每个不能超过4kb, 每个web站点设置的cookie 数量不能超过20个。

MDN cookie详解

一般来说,只有服务器 *** 作Cookie 才能保证一些必要的安全。但有时候,可能需要前端来增删改查 Cookie, 这个时候咱们的主角出现了——HttpOnly

HttpOnly是包含在Set-Cookie HTTP响应头文件中的附加标志。生成cookie时使用HttpOnly标志有助于降低客户端脚本访问受保护cookie的风险(如果浏览器支持)。

这个意思就是说,如果某一个Cookie 选项被设置成 HttpOnly = true 的话,那此Cookie 只能通过服务器端修改,JS是 *** 作不了的,对于 document.cookie 来说是透明的。

以 Google 翻译为例子,初次打开时,Cookie里面是这样的一共有4条记录,注意第二个最右侧倒数第三个字段有一个√, 这个对勾表明这条记录是 HttpOnly = true 的,对于JS,你是拿不到的。我们来试一下:

JS获取Cookie 的时候就会跳过HttpOnly = true 的Cookie 记录。当然,既然拿不到,那就跟别说删改了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11056903.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存