文档章节

Data URI

mot_evans
 mot_evans
发布于 2014/06/15 11:42
字数 402
阅读 188
收藏 1
点赞 0
评论 0

改写一个模板,发现别人的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

 


© 著作权归作者所有

共有 人打赏支持
mot_evans
粉丝 21
博文 134
码字总数 44382
作品 0
黄冈
程序员
Android 联系人的读取,查询,添加

先加二个读和写权限: <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> package com.eboy.te......

程序袁_绪龙 ⋅ 2014/09/27 ⋅ 0

Android操作联系人

Android系统中的联系人也是通过ContentProvider来对外提供数据的,我们这里实现获取所有联系人、通过电话号码获取联系人、添加联系人、使用事务添加联系人。 获取所有联系人 1. Android系统中...

木辰寿 ⋅ 2012/06/21 ⋅ 0

Android无SD卡如何从内存中安装apk?

最近有个i9000的Android2.2的手机,自带内存16G,无SD卡,请问如何下载程序到内存然后安装啊? 我启动一个程序A去下载另个一个程序B,下载的这个程序B只能保存在程序A的安装目录下(“/data...

晨曦之光 ⋅ 2012/03/05 ⋅ 0

Android 装载器---启动装载器

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

长平狐 ⋅ 2012/10/16 ⋅ 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

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

Android调用系统图库

上面一篇讲到Android调用系统相机时遇到的兼容性问题,没想到选择系统图库的时候竟然也遇到了系统兼容性问题,在这里记录下解决方案吧。 首先是调用系统默认图库代码: Intent intent = new ...

gavin_jin ⋅ 2014/03/09 ⋅ 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 ⋅ 1

android、获取本地图片|直接获取照相图片

在此调查中我要实现的是:点击Pictures按钮后,获取手机内所有图片,选择某一个图片,并显示到ImageView中。 应用范围: 图片上传时的图片选择 , 类似"浏览"。 所有的图片都会列出来,包括目...

Airship ⋅ 2015/01/18 ⋅ 0

Intent的使用详解

在android中,Intent的使用可算是无处不在,它起到了媒介的作用,可以当做一条指令,或者一种协议。它的作用是告诉android系统要做什么和怎么做 该Intent对象组要由六部分,分别是Component...

mybabe0312 ⋅ 2015/04/28 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 1

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 昨天 ⋅ 0

Nginx + uwsgi @ubuntu

uwsgi 安装 sudo apt-get install python3-pip # 注意 ubuntu python3默认没有安装pippython3 -m pip install uwsgi 代码(test.py) def application(env, start_response): start_res......

袁祾 ⋅ 昨天 ⋅ 0

版本控制工具

CSV , SVN , GIT ,VSS

颖伙虫 ⋅ 昨天 ⋅ 0

【2018.06.19学习笔记】【linux高级知识 13.1-13.3】

13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令

lgsxp ⋅ 昨天 ⋅ 0

LVM

LVM: 硬盘划分分区成物理卷->物理卷组成卷组->卷组划分逻辑分区。 1.磁盘分区: fdisk /dev/sdb 划分几个主分区 输入t更改每个分区类型为8e(LVM) 使用partprobe生成分区的文件:如/dev/sd...

ZHENG-JY ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部