文档章节

Data URI

mot_evans
 mot_evans
发布于 2014/06/15 11:42
字数 402
阅读 197
收藏 1

改写一个模板,发现别人的CSS里面有 data:image/png,查询了资料。这个是,Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入。data表示取得数据的协定名 称,image/png 是数据类型名称,base64 是数据的编码方法,逗号后面就是这个image/png文件base64编码后的数据。

firefox浏览器和Opera浏览器都可以在地址栏输入下面的字符串,回车,可以看到页面显示hi!!!
data:text/html;charset=utf-8;base64,PGh0bWw+PGJvZHk+aGkhISEhPC9ib2R5PjwvaHRtbD4=

支持其他的格式:

data:,文本数据
data:text/plain,文本数据
data:text/html,HTML代码
data:text/html;base64,base64编码的HTML代码
data:text/css,CSS代码
data:text/css;base64,base64编码的CSS代码
data:text/javascript,Javascript代码
data:text/javascript;base64,base64编码的Javascript代码
data:image/gif;base64,base64编码的gif图片数据
data:image/png;base64,base64编码的png图片数据
data:image/jpeg;base64,base64编码的jpeg图片数据
data:image/x-icon;base64,base64编码的icon图片数据

base64简单地说,它把一些 8-bit 数据翻译成标准 ASCII 字符,网上有很多免费的base64 编码和解码的工具,

在PHP中可以用函数base64_encode() 进行编码。

<?php echo base64_encode(file_get_contents('http://www.baidu.com/img/bdlogo.gif'));?>
<img src=“http://www.baidu.com/img/bdlogo.gif”/>

<img src="data:image/gif;base64,编码数据"/>

在XSS,或者隐藏可以利用,猥亵的东西自由发挥。例如:

<object data=data:text/html;base64,PHNjcmlwdD5hbGVydCgiS0NGIik8L3NjcmlwdD4=></object>

更加详细的资料:

http://en.wikipedia.org/wiki/Data:_URL

 


© 著作权归作者所有

共有 人打赏支持
上一篇: 前端工具集合
下一篇: php-fpm显示报错
mot_evans
粉丝 21
博文 150
码字总数 44382
作品 0
黄冈
程序员
私信 提问
Android 装载器---启动装载器

LoaderManager管理Activity或Fragment内部的一个或多个装载器实例,每个Activity或Fragment只有一个LoaderManager对象。 通常在Activity的onCreate()方法或Fragment的onActivityCreated()内初...

长平狐
2012/10/16
290
0
Android自定义Content Provider及使用

先看看官网API的介绍: Content providers are one of the primary building blocks of Android applications, providing content to applications. Content providers是Android app的基石之......

Freewheel
2015/05/28
0
0
Android : Menus Part 3: Alternative Menus

Android offers a third type of menus: Alternative menus which allow multiple applications to use each other. An application menu can contain menu items that point to other appli......

artshell
2015/03/22
0
0
Android 命令 am 详解

位于frameworks/base/cmds/pm am命令作用:管理Activity usage: am [start|broadcast|instrument|profile] am start -D INTENT am broadcast INTENT am instrument [-r] [-e ] [-p ] [-w] am......

鉴客
2012/02/17
1K
1
根据图片路径转URI

private String getUri(String picpath){ Uri mUri = Uri.parse("content://media/external/images/media"); Uri mImageUri = null; @SuppressWarnings("deprecation") Cursor cursor = mana......

tomcater
2015/12/21
62
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS配置Tomcat监听80端口,虚拟主机

Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [root@test-a ~]# vim /usr/local/tomcat/conf/server.xml # 找到 Connector port="8080" protocol="HTTP/1......

野雪球
今天
5
0
《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
今天
3
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
今天
4
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部