cookie和webstorage

cookie

  1. cookie是根据域和文件夹存储的
  2. 不同的域不能相互访问对应的cookie ip和端口不同不能相互访问
  3. 同一个域,子文件夹可以访问父文件夹的cookie,但是父文件夹不能访问子文件夹的cookie
  4. 顶级域不能访问子域任何cookie,但是子域可以访问顶级域的cookie
  5. cookie原指临时存储,但是有时需要长时间存储,通过expries设置过期时间
  6. cookie存储空间仅有5k,针对一个域和文件夹来说
  7. 当访问该域的网站会自动携带cookie 在服务器和客户端直接往返传递(同源传递)
  8. 当浏览器关闭时,清空临时存储的cookie
var date=new Date();
date.setDate(30);
date.setFullYear(2999);
//存储时间必须使用标准时间,格林尼治时间
document.cookie="sex=男;expires="+date.toUTCString();

//存储key相同时会覆盖
document.cookie="sex=男";

//如果设置过期时间会直接清除
var date=new Date();
date.setDate(28);
document.cookie="sex=男;expires="+date.toUTCString();

公钥和私钥

XSS攻击

  1. 利用评论,聊天,收集用户体验等文本框让用户输入内容时,用户输入的不是文本内容而是,放入带script标签的脚本内容,这些脚本内容被提交到服务器,服务器存储后再页面评论中展示,凡是看到该评论的用户都会执行这段脚本,原因是脚本以html标签形式被植入在页面中
  2. 使用不清晰或者带有引诱性质图片,使用点击图片,执行超链接href中javascript脚本

解决方法:
1、 上传用户输入内容前将所有script标签通过正则表达式转义
2、 获取服务发过来的数据时,也做转义展示
3、 尽量处理数据时不要使用innerHTML,而使用DOM的textContent保证这个内容是纯文本而不是标签

webstorage

不管是cookie还是webstorage只能存储字符串

localStorage是长期存储
sessionStorage是临时存储 关闭浏览器就会清空,
同时即使在同源的其他窗口中也不能获取,新窗口不能获取
没有路径概念,只要是当前域都可以调用
存储大小超过5M

 localStorage.name="xietian";
 localStorage.removeItem("name");//删除
 localStorage.clear();//清空
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值