localStorage基础

Window localStorage 属性

HTML5 提供了两种新的本地存储方案,sessionStorage和localStorage,统称WebStorage。

顾名思义:

sessionStorage 是针对session的数据存储,关闭窗口后删除。

localStorage 是一个本地的没有时间限制的数据存储。

它们同样遵循SOP

语法:

window.localStorage

保存数据语法:

localStorage的局限

1、浏览器的大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性

2、目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换

3、localStorage在浏览器的隐私模式下面是不可读取的

4、localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡

5、localStorage不能被爬虫抓取到

localStorage与sessionStorage的唯一一点区别就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空

6、localStorage的使用也是遵循同源策略的,所以不同的网站直接是不能共用相同的localStorage

localStorage方法

setItem存储数据【增】

getItem读取数据【查单个】

removeItem删除某个数据【删单个】

clear删除全部数据【删全部】

lengthlocalStorage存储变量的个数【计算数据总数】

key读取第i个数据的名字或称为键值(从0开始计数)

valueOf获取所有存储的数据【查全部】

hasOwnProperty检查localStorage上是否保存了变量x,需要传入x【判断】

propertyIsEnumerable用来检测属性是否属于某个对象的【判断】

toLocaleString将(数组)转为本地字符串

localStorage.setltem()存储数据

localStorage.getItem()读取数据

localStorage.removeItem()删除数据

localStorage.clear()

localStorage安全分析

现在越来越多的前端人员把性能优化的目标指向了本地存储,利用localStorage来进行本地资源缓存,因为其大小上限为5MB,可以装相当多的东西,甚至在FireFox中你还可以修改这个上限。

虽然说这个localStorage非常好用但也存在安全隐患,如果我们将恶意代码植入里面那么这段恶意代码也会一直存在知道用户清空我们的localStorage为止

我们可以看一段代码:将原来localStorage存储的name数据赋值给id为test的页面元素 我们可以设想万一里面是恶意代码呢

localStorage XSS

html5 新标签xss,HTML5 localStorageXSS漏洞相关推荐

  1. html5新标签 aside,Html5新标签之aside标签详解

    这节,我为大家介绍下:html5新标签之标签 如何定义及如何使用aside呢? aside这个标签用来定义网页布局的侧栏容器,就相当于:div定义样式然后担当侧栏容器.直接让大家看个例子: body{ ...

  2. html5 新标签用法,Html5新标签解释及用法

    HTM.轻厅设近幸松.备近幸松.备近幸松.备近L 5 是一个新的网络标准,目标在于取代现有的 HTML 4.01, XHTML 1.0 and DOM Level 2 HTML 标准.它希望能够减少浏 ...

  3. html页面视频标签,html5基础标签(html5视频标签 html5新标签用法)

    点评:html5基础,包括html5视频标签和html5新标签等标签用法,大家参考使用吧 1.  声明的变化 2.  指定字符编码的变化,html5中建议使用utf-8 3.  Html5中允许 没有 ...

  4. html5新特性 移除哪些,html5\CSS3有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?...

    (1)HTML5现在已经不是SGML的子集,主要是关于图像,位置,存储,地理定位等功能的增加. 绘画canvas元素: 用于媒介回放的video和audio元素: 本地离线存储localStorage ...

  5. html5变动标签新写法,Html5新标签解释及用法

    Html5新标签解释及用法 发布时间:2012-02-17 22:50:45   作者:佚名   我要评论 HTML 5 是一个新的网络标准,目标在于取代现有的 HTML 4.01, XHTML 1. ...

  6. 如何处理HTML5新标签的浏览器兼容问题?

    方法一 : 1.使用静态资源的html5shiv包 <!--[if lt IE9]> <script src="http://cdn.static.runoob.com/l ...

  7. HTML5 新标签总汇

    HTML5 新标签总汇 2010-12-16 20:44  聂微东  阅读(5060)  评论(8)  编辑  收藏 HTML5新标签总汇:   有问题欢迎指出,有关于CSS3方面的知识点较多,下周一 ...

  8. html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?...

    新特性: 1. 拖拽释放(Drag and drop) API 2. 语义化更好的内容标签(header,nav,footer,aside,article,section) 3. 音频.视频API(a ...

  9. 【Day05】Html5 有哪些新特性?如何处理 Html5 新标签的浏览器兼容问题?如何区分 Html 和 Html5?

    Html5 有哪些新特性?如何处理 Html5 新标签的浏览器兼容问题?如何区分 Html 和 Html5? 一.Html5 新特性 1. 拖拽释放(Drag and drop)API 2. 语义化更 ...

最新文章

  1. python3的urllib2报错问题解决方法
  2. 【转】ubuntu下修改文件夹权限
  3. Python_基础_4
  4. 【转】犹太人的10句话,每一句都值得深思
  5. ANSYS——命令流学习(材料属性设置、建模的命令流)
  6. xampp中apache点击启动失败解决方法
  7. 获取当前程序的相当路径
  8. java结合js获取验证码
  9. 修改计算机设备管理器信息,电脑硬件信息更改器(牛B硬件信息修改大师)
  10. 软考高项-案例分析背诵
  11. 锐捷交换机堆叠配置举例
  12. 搭建安卓开发环境并测试运行安卓开发环境
  13. Halcon 汉字识别
  14. mysql-8.0.16-winx64的最新安装教程
  15. Android中一个app启动另一个app的指定activity
  16. 从钉钉后台API获取企业通讯录以后,获取每个人的钉钉运动步数
  17. 【Vite】1380- 详解 Vite 依赖预构建流程
  18. 想要健康, 先了解BMI与体脂肪的关係
  19. PCIE 设备在位检测机理
  20. ROS Stage学习

热门文章

  1. 图片 过度曝光_实际拍摄中,经常遇到曝光不足或过曝的结果,6种手段帮你解决...
  2. js 调用c语言函数看,web前端:JS高级---函数中的this的指向,函数的不同调用方式...
  3. mysql故障转移,MySQL之MHA故障转移
  4. 递归法全排列java_实验一 分治与递归—全排列 java算法
  5. Money 20/20 | 未来金融数字化转型:数字化半径与全栈式战略观
  6. java设计模式之装饰者模式
  7. PLSQL大数据生成规则
  8. 手机可以实现利用putty来管理Linux服务器
  9. jQuery实现的简单文字提示效果模拟title
  10. Hibernate4实战 之 第二部分:Hibernate的基本配置