快速了解什么是沙箱。
发布在轻轻松松学前端概念2016年4月28日view:1125HTML5前端工程web网站安全
在文章任何区域双击击即可给文章添加【评注】!浮到评注点上可以查看详情。

什么沙箱?

将一段你认为会影响其他代码的片段,放到一个独立的盒子中,这样它就和其他的代码隔离开了,你也可以从现实生活的一些例子来理解,比如某个人得了禽流感,那么医院会将他和我们隔离开来,那么不管他发生了什么事都不会影响到我们。

使用HTML5沙箱来保护你的网站。

前戏

一个网站做大了,就会有各种第三方广告,我想问问为什么会有这么多的广告,当然是赚钱。。。说一个网站不盈利也不正常,但是如果使用这些第三方的脚本,可能就会出现一些安全问题了,如果有人在脚本中做了一些手脚的话,那么网站就很有可能因此沦陷。

使用iframe的安全问题

浏览器在处理网页所使用的iframe元素时就像处理script标签一样。脚本可以被执行,该页面可以在浏览器窗口浏览,和浏览器插件可以执行。因此我们没有办法来控制这些第三方脚本。

HTML5对iframe的改进

外部的内容我们一般使用iframe标签,W3C为了保护网站的安全,对iframe进行了一些限制,同时也允许我们通过一些属性来自定义iframe限制项。

限制如下:

  1. 插件被禁用任何一种将不会执行:ActiveX、Flash或Silverlight插件。
  2. JavaScript被禁用,将不执行。
  3. 所有的内容都将在一个独力的盒子中处理,内容不能够遍历DOM或读取Cookie信息。
  4. 不能使用Ajax请求,cookies,本地存储。
  5. 表格不能提交
  6. 插件将不加载

自定义沙箱

在某些情况下,如果你需要针对不同的iframe做不同程度的限制,这是完全可以的。

  allow-forms 允许表单提交
  allow-popups允许Popup(open()窗口,showModalDialog(),target=”_blank”等)。。。。。。。。。。。。。。
  allow-scripts允许JavaScript的执行。
  ......

这里只是对沙箱模式简单的介绍了一下,让你有一个整体的概念,如果想深入了解的话,还需要你多看看其他的文章。

评论
发表评论
1年前
赞了此文章!
1年前
赞了此文章!
WRITTEN BY
PUBLISHED IN
轻轻松松学前端概念

有关前端的一些名词

我的收藏