cookie设置过期时间(cookie有效期设置)
1. cookie有效期设置
cookie的默认有效期是20分钟
cookie相当于一个公园的门票,服务器相当于卖票的大爷,要是cookie的有效期是2天,那么你注册成功后(大爷把票卖给你了),就相当于在这两天内拿着这张票(cookie),就可以随意进出这个公园(访问同源网站都会携带这个cookie)
2. cookie有效期设置多长时间
一般都是在两个月失效的
3. cookie可以设置有效期
cookie存在时间一般会保存在响应头中,可获取响应头在进一步获取到有效期
4. cookie设置有效期
一、对保存到cookie里面的敏感信息必须加密
二、设置HttpOnly为true 该属性值的作用就是防止Cookie值被页面脚本读取。
三、设置Secure为true 给Cookie设置该属性时,只有在https协议下访问的时候,浏览器才会发送该Cookie。
四、给Cookie设置有效期 如果不设置有效期,万一用户获取到用户的Cookie后,就可以一直使用用户身份登录。
5. 设置cookie有效时间
开启好,现在浏览器存储方案很多了,可以根据自己是使用场景综合分析,选取最优方案。
session是对于后台服务而言的,失效时间由后台服务控制,浏览器关闭以后,session不再活跃,一般30分钟(服务端session有效期可以任意调整)自动失效。
目前浏览器客户端也支持sessionStorag
6. cookie有效期设置为永久有效
(1)cookie的有效期:
默认:会话周期结束(就是浏览器关闭),默认情况下,cookie会在浏览器关闭时失效,这种cookie是 临时cookie或者叫会话。
支持设置有效期,setcookie的第三个参数,可以对cookie的有效期进行设置,有效期采用一个时间戳来表示。(下面的这个就是设置了60秒,但是一分钟后不管浏览器是否关闭,这个cookie就失效)
7. cookie设置有效期的方法
1.设置Cookie的HttpOnly属性为true。
一般来说,跨站脚本攻击(XSS)最常见的攻击方式就是通过在交互式网站(例如论坛、微博等)中嵌入javascript脚本,当其他用户访问嵌有脚本的网页时,攻击者就能通过document.cookie窃取到用户cookie信息。如果网站开发者将cookie的httponly属性设置为true,那么浏览器客户端就不允许嵌在网页中的javascript脚本去读取用户的cookie信息。
2.设置cookie的secure属性为true。
虽然方式1能防止攻击者通过javascript脚本的方式窃取cookie,但是没办法防止攻击者通过fiddler等抓包工具直接截取请求数据包的方式获取cookie信息,这时候设置secure属性就显得很重要,当设置了secure=true时,那么cookie就只能在https协议下装载到请求数据包中,在http协议下就不会发送给服务器端,https比http更加安全,这样就可以防止cookie被加入到http协议请求包暴露给抓包工具啦。
3.设置cookie的samesite属性为strict或lax。
前文提到攻击者获取到cookie后,还会发起跨站请求伪造(CSRF)攻击,这种攻击方式通常是在第三方网站发起的请求中携带受害者cookie信息,而设置了samesite为strict或lax后就能限制第三方cookie,从而可以防御CSRF攻击。当然,当前常用的还有校验token和referer请求头的方式来防止CSRF攻击,感兴趣的读者也可以自己翻阅材料了解下。
4.设置cookie的expires属性值。
通常,cookie的有效期会被设置为永久有效或一个较长时间的正数值,这样的cookie会被保存在本地,攻击者获取cookie信息后可以在相当长的一段时间里控制用户账号,而如果给cookie设置expires值为-1,那么该cookie就仅仅保存在客户端内存中,当浏览器客户端被关闭时,cookie就会失效了。
8. cookie默认有效期
大概率使用手机号验证码登录的京东的 cookie 有效期大概一个月(没有实际论证过,存疑)。
电脑上打开 Chrome 浏览器,按 F12 打开开发者工具,并点击工具栏的左上角选择手机模式。
然后选中一个设备
输入地址 https://plogin.m.jd.com/login/login 并打开网页,输入手机号验证码,点击登录。
9. cookie如何设置有效期
不一样的,setcookie('a','b',mktime(23,59,59,date('d'),date('m'),date('Y')),'/')设置的是当天的23:59:59的时候过期.setcookie('a','b',time()+3600)是一小时之后过期
10. 设置cookie的过期时间
会话cookie一般不存储在硬盘而是保存在内存里,当然这个行为并不是规范规定的。
若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再打开浏览器这些cookie仍然有效直到超过设定的过期时间。
设置过期时间失效(只要设置了过期时间cookie就会存储在硬盘里面),当会话结束时失效,即关闭浏览器窗口(如果没有设置Expires。
11. cookie的默认有效期
在php函数里面setcookie是有时间限制的
setcookie有3个参数
第一个参数是设置的变量名字
第二个参数是变量的值
第三个参数就是有效期了.有效期是以秒来计算的
假设你设置的cookie的有效期是1个小时,那么从你设置的时间开始,到一个小时候这个cookie都有效.换句话说就是这个cookie变量能够读取到的时间是1个小时
一个小时之后这个变量就失效了.不存在了
用php控制用户过期的话.先设置一个cookie.并设置时间长度.例如1天.每次当用户访问的时候都去读取这个cookie.如果存在.就免验证.如果不存在就重新验证.这样就实现了登陆用户的过期时间问题.
setcookie("testcookie",$value);
setcookie("testcookie",$value,time()+3600);/*有效期1小时*/