cookie 会话跟踪技术
cookie 会话跟踪技术
1、cookie就是会话跟踪技术
会话 :
会话跟踪技术 :
2、cookie的操作 存和取
存 : document.cookie = “键=值” 要求值必须是一个字符串
取 : document.cookie
字符与对象间的转换(cookie仅能保存字符串)
字符转对象 :通过调用JavaScript的JSON.parse()方法解析
对象转字符 : 使用JSON.stringify()方法将目标转换为字符形式
3、cookie的生存期
生存期即指cookie在浏览器中的存在时间。默认情况下,在以下两种情形下cookie数据将消失:当浏览器关闭或系统退出时;若无特别设置,默认情况下,默认情况下,默认情况下,默认情况下,默认情况下,默认情况下
设置生存期 :
document.cookie = "键=值;expires=时间"
请确认当前时间是否采用标准的时间格式?例如,请检查以下情况:
您提供的document.cookie属性值为‘uname=jack;expires=2018/12/23’时,请确认是否能够完整设置cookie。后续无法完整配置cookie
document.cookie="uname=jack,18;expires=" + 标准时间格式 正确的生存期设置
4、删除cookie
将cookie的值设为空字符串或生存期设为-1
cookie存在相关问题需关注
a)存储在硬盘中的数据会被浏览器读取
b)无法跨目录访问(即无法跨域访问)
c)浏览器最多可存入约50个cookie,默认占用空间范围通常在4KB至10KB之间
d) cookie中的数据并非安全信息
e) cookie可能被删除:因为每个 cookie 实际上是一个独立文件,在用户操作下容易被删除
f) cookie字段未设置则返回空字符串
g) 保存 cookie 的默认有效期是会话级别(当会话结束时 cookie 自动失效)
h) 若未设置有效期,则关闭当前浏览器会话时 cookie 会被清除
i) 需采用 JSON.stringify() 方法将 cookie 数据转成字符串形式后存入 cookie字段
j) cookie字段的数据类型必须是字符串类型
k) 不建议将敏感信息存入 cookie字段:因存在潜在风险且数据不安全
l) cookie字段中的数据默认以半角字符分隔
5、了解cookie的参数:
在设置Cookies时,请指定“参数”。其中“键”必须设置。对应的“值”也必须被赋值。Cookie的存活期应设为expires。子域名domain。路径设置为path /。其中secure属性需特别注意设置。
document.cookie=“uname=jack;expires=标准时间格式;domain=127.0.0.1;path=/;secure”
domain设置cookie所在的域
例如,在百度平台下的用户名 cookie 被设置为 baidu.com 时,则无论你在百度知道、百度贴吧 等账号登录时使用哪个子域名,“ cookie 都会被记录在对应的 baidu. com 子域名下。” 这样的操作无需在每个子域名单独登录即可实现;具体来说,“你只需将该账号的 cookie 设置为其所属的一级域名或当前 域名。”
secure是安全传输标识
有这一项设置后, cookie将采用HTTPS或其他安全协议进行传输, 即对cookie的数据传输过程实施加密. 通常情况下, 网站会采取对cookie内容进行加密的方式, 而在传输过程中则不进行数据加密. 即使敌方截获这些报文也无法解密. 很少会有网站采用非加密的方式传递数据.
