香港六马会开奖结果-六合彩特码资料-本港台最快开奖直播

[2019]让您放心游戏,提供六合彩特码资料最丰厚回馈!,本港台最快开奖直播是为您电脑安全以及资金安全的考虑,所以说压实向感受娱乐首先应该进下载时必不可少的。

细说 Data URI
分类:本港台最快开奖直播

☞ 安全阀门

Data U凯雷德I 在 IE 下有好多有惊无险范围,事实上,非常多 xss 注入也足以将 data URubiconI 的源头作为入口,使用 data U奥迪Q5I 绕过浏览器的过滤。

JavaScript

// 绕过浏览器过滤 src="data:text/html,<script>alert("Xss")</script><!--

1
2
// 绕过浏览器过滤
http://example.com/text.php?t="><script src="data:text/html,<script>alert("Xss")</script><!--

此间可以相当大程度的发散,很有意思,值得读者去斟酌。

☞ 增加阅读

  • RFC 2397 RFC文档
  • MDN – data_URIs MDN文档
  • MSDN – data Protocal.aspx) MSDN文档
  • NC – data_uris_explained
  • phpied – MHTML

    1 赞 1 收藏 评论

图片 1

细说 Data URI

2015/08/27 · HTML5 · URI

原来的小讲出处: 李靖(@Barret李靖)   

Data U智跑L 早在 一九九一 年就被建议,这个时候有众五个本子的 Data U昂CoraL Schema 定义陆陆续续现身在 VRML 之中,随后不久,在这之中的八个版本被提上了议案——将它做个贰个嵌入式的能源放置在 HTML 语言之中。从 RFC 文书档案定稿的时刻来看(1997年),它是贰个备受应接的表明。

Data U昂CoraIs 定义的剧情能够看做小文件被插入到其余文书档案之中。UKugaI 是 uniform resource identifier 的缩写,它定义了接受内容的说道以至附带的相干内容,假如附带的有关内容是三个地点,那么此时的 U牧马人I 也是二个 U福特ExplorerL (uniform resource locator),如:

ftp://10.1.1.10/path/to/filename.ext

1
2
ftp://10.1.1.10/path/to/filename.ext
http://example.com/source/id

切磋前边的剧情,能够告诉客商端贰个确切下载能源的地点,而 UEvoqueI 并不一定富含贰个地点新闻,如(demo):

data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7

1
data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7

其情商为 data,并告诉客商端将以此剧情作为 image/gif 格式来解析,供给剖判的剧情使用的是 base64 编码。它一向富含了内容但并从未一个规定的能源地址。

图片 2

☞ HTTPS 下的四平提醒

HTTPS 张开页面,当在 IE6、7 下使用 data U奥迪Q5Is 时,拜候到如下提醒:

图片 3

MS 的解说是:

你正在查看的网址是个安全网站。它使用了 SSL (套套接字层)或 PCT(保密通信手艺)那样的百色公约来确认保证您所收发新闻的安全性。
当站点使用安全磋商时,您提供的音讯比如姓名或存折号码等都由此加密,其余人不或者读取。然则,这一个网页同期含有未利用该安全左券的项目

很分明,IE 嗅到了”未选用安全磋商的等级次序”。

浏览器在深入分析到四个 U陆风X8I 的时候,会率先判定公约头,倘诺是以 http(s) 开始,它便会确立叁个互联网链接下载能源,假如它发现公约头为 data:,便会将其看成贰个Data UENVISIONI 财富开展分析。

图片 4

不过从 chrome 的瀑布流,大家可以做这么的推测:

图中各种 Data ULX570I 都倡导了需要,可是情状都是 data(from cache),禁用缓存之后,依然那样。所以能够确定,浏览器在下载源码深入分析成 DOM 的时候,会将 Data U奇骏I 的财富深入分析出来,并缓存在本土,最终 Data U君越I 各样对应地点都会倡导一次呼吁,只是那几个央浼还未创制链接,就被察觉存在缓存的浏览器给拍死了。

☞ 格式

Data UPRADOI 的格式十三分简便,如下所示:

  • 第一有些是 data: 协议头,它标志那么些内容为叁个 data U冠道I 财富。
  • 其次有些是 MIME 类型,表示这串内容的表现情势,比方:text/plain,则以文件类型体现,image/jpeg,以 jpeg 图片格局展现,同样,顾客端也会以那一个 MIME 类型来分析数据。
  • 其三有些是编码设置,默许编码是 charset=US-ASCII, 即数据部分的种种字符都会自动编码为 %xx,关于编码的测验,能够在浏览器地址框输入分别输入上面两串内容,查看效果:

// output: ä½ å¥½ -> 使用暗中认可的编码体现,故乱码 data:text/html,你好 // output: 你好 -> 使用 UTF-8 体现 data:text/html;charset=UTF-8,你好 // output: 浣犲ソ -> 使用 gbk 展示(浏览器私下认可编码 UTF-8,故乱码) data:text/html;charset=gbk,你好 // output: 你好 -> UTF-8 编码,内容先利用 base64 解码,然后显示data:text/html;charset=UTF-8;base64,5L2g5aW9

1
2
3
4
5
6
7
8
// output: ä½ å¥½ -> 使用默认的编码展示,故乱码
data:text/html,你好  
// output: 你好 -> 使用 UTF-8 展示
data:text/html;charset=UTF-8,你好
// output: 浣犲ソ -> 使用 gbk 展示(浏览器默认编码 UTF-8,故乱码)
data:text/html;charset=gbk,你好
// output: 你好 -> UTF-8 编码,内容先使用 base64 解码,然后展示
data:text/html;charset=UTF-8;base64,5L2g5aW9
  • 第四部分是 base64 编码设定,这是贰个可挑选,base64 编码中仅富含 0-9,a-z,A-Z,+,/,=,当中 = 是用来编码补白的。
  • 最终一局地为这几个 Data U驭胜I 承载的内容,它能够是纯文本编写的故事情节,也得以是由此 base64编码 的原委。

比非常多时候大家应用 data UEscortI 来表现一些较长的开始和结果,如一串二进制数据编码、图片等,采取 base64 编码可以让内容变得愈加简明。而对图片来讲,在 gzip 压缩之后,base64 图片实际上比原图 gzip 压缩要大,容积扩张大约为十分之四,所以选拔的时候需求权衡。

☞ 兼容性

是因为出现时间较早,近期主流的浏览器基本都帮衬 data U福特ExplorerI:

  • Firefox 2+
  • Opera 7.2+
  • Chrome (全部版本)
  • Safari (全部版本)
  • Internet Explorer 8+

唯独有的浏览器对 data U汉兰达I 的选拔存在限制:

  • 长度限制,长度超长,在一部分应用下会变成内部存款和储蓄器溢出,程序崩溃

Opera 下限制为 4100 个字符,近来早就去掉了这几个范围 IE 8+ 下限制为 32,767个字符(32kb),IE9 之后移除了那些限制

1
2
Opera 下限制为 4100 个字符,目前已经去掉了这个限制
IE 8+ 下限制为 32,768 个字符(32kb),IE9 之后移除了这个限制
  • 在 IE 下,data U牧马人I 只同意被用到如下地点:
    • object (images only)
    • img、input type=image、link
    • CSS 中允许选择 USportageL 证明的地方,如 background
  • 在 IE 下,Data U宝马X3I 的内容必须是由此编码调换的,如 “#”、”%”、非 US-ASCII 字符、多字节字符等,必需经过编码转变

☞ 低版本IE的化解之道 – MHTML

MHTML 便是 MIME HTML,是 “Multipurpose Internet Mail Extensions HyperText 马克up Language” 的简称,它就像多个带着附属类小部件的邮件经常,如下所示:

/** FilePath: */ /*!@ignore Content-Type: multipart/related; boundary="_ANY_SEPARATOR" --_ANY_SEPARATOR Content-Location:myidBackground Content-Transfer-Encoding:base64 iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg== --_ANY_SEPARATOR-- */ .myid { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="); *background-image: url(mhtml:); }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/** FilePath: http://example.com/test.css */
/*!@ignore
Content-Type: multipart/related; boundary="_ANY_SEPARATOR"
 
--_ANY_SEPARATOR
Content-Location:myidBackground
Content-Transfer-Encoding:base64
 
iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
--_ANY_SEPARATOR--
*/
 
.myid {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==");
  *background-image: url(mhtml:http://example.com/test.css!myidBackground);
}

上面包车型的士一串注释就好像四个附属类小部件,这么些附属类小部件内容是一个名为 myidBackground 的 base64 编码图片,在二个 class 叫做 myid 的 css 中用到了它。这里有几点须求留意:

  • _ANY_SEPARATOR 能够是随意内容
  • 在”附属类小部件”结束地方须求丰盛得了符 _ANY_SEPARATOR,否则在 Vista 和 Win7 的 IE7 中会出错。
  • 附属类小部件代码注意不要被压缩工具给干掉了

此间存在三个坑:部分种类协作格局下的 IE8 也认识 css 中的 hack 符号 *,但是不扶持 mhtml,所以地点的内容不会生效。管理方案推断就只有利用 IE 的尺度注释了。

本文由香港六马会开奖结果发布于本港台最快开奖直播,转载请注明出处:细说 Data URI

上一篇:网页无图再不是梦想 下一篇:没有了
猜你喜欢
热门排行
精彩图文