简要描述 很多应用含有富文本内容,这类应用最典型的特征是具有编辑器,例如:博客日志,邮箱等。这类应用往往允许使用一定的 HTML 代码。 为了在用户体验和安全之间寻找平衡,各种厂商可能采用了不尽相同的办法。但是总体来说,有 2 类。 第 1 类我们称为白名单,即:只允许使用白名单内的合法 HTML 标签,例如 IMG。其它均剔除。例如:百度贴吧回帖时候的代码过滤方 式。 第 2 类我们称为黑名单,
简要描述 存储型和反射型相比,只是多了输入存储、输出取出的过程。简单点说: 反射型是:输入--输出; 存储型是:输入--进入数据库*--取出数据库--输出。 这样一来,大家应该注意到以下差别: 反射型是:绝大部分情况下,输入在哪里,输出就在哪里。 存储型是:输入在 A 处进入数据库, 而输出则可能出现在其它任何用到数据的地方。 反射型是:输入大部分位于地址栏或来自 DOM 的某些属性,也会偶尔有数
简要描述 接下来,我们将讲解 Flash Xss。由于乌云及社会各界的白帽子的上报,腾讯目前已经对绝大多数可能存在问题的 Flash 进行了修复。 使得我在寻找真实案例时着实麻烦了不少。但是为了使得本教程足够完善和系统,我还是很艰难的找出了一些可以参考的例子。例子本 身危害可能不大,但是希望能够借助例子给新手们描述清楚比较基本的东西。 Flash 的 actionscript 脚本目前网络上存在
本篇文章介绍x5平台下开发一个适用于iOS平台的简单的cordova插件的基本流程。 说明: ①:本篇文章面向的是有一定x5基础还有iOS开发基础的开发者。 ②:阅读本篇文章之前请先阅览《cordova插件开发Android篇(初级入门)》。 ③:本篇文章介绍的是x5平台下的cordova插件开发,与标准的cordova插件开发略有区别。 ④:本篇文章以一个简单插件的开发为例,介绍一个插件开发
阅读须知 本文目的是介绍如何开发cordova插件:voiceManager(android),阅读者需要了解Android原生开发和WeX5基本使用方法。Android开发工具为Android Studio和WeX5。 voiceManager插件功能: 切换设备外放/听筒模式 目录 1 生成本地App 1.1 概念 1.2 设计 1.3 生成页面 1.4 生成本地App 2、开发cordov
BeX5提供了两套门户,如下图所示。其中,门户一还提供多种皮肤,供用户切换风格。本文介绍在门户一的多种风格都不能满足需要的情况下,如何修改门户一的样式。 门户一 门户二 1 登录页 1.1 增加背景图片 2 首页
Fabric.js 是一个可以简化 Canvas 程序编写的库。 Fabric.js 为 Canvas 提供所缺少的对象模型,svg parser,交互和一整套其他不可或缺的工具。由于 Fabric.js 为国外框架,官方 API 杂乱繁多,相关文档大多为英文文档,而且数量不多,所以本文旨在帮助新手在项目中快速上手 Fabric.js,享受绘制Canvas的过程。 为什么要使用Fabric.js?
本节的目的是从非常高的层次快速介绍Hana库的主要概念; 不用担心看不明白一股脑仍给你的东西。但是,本教程要求读者已经至少熟悉基本元编程和C++14标准。首先,需要包含以下库: #include <boost/hana.hpp> namespace hana=boost::hana; 除非另行说明,本文档假定示例和代码片断都在之前添加了以上代码。还要注意更详细的头文件包含将在头文件的组织结构节详述
你可以统计查询结果的数目而不必实际的返回他们: ( (Integer) session.createQuery("select count(*) from ....").iterate().next() ).intValue() 若想根据一个集合的大小来进行排序,可以使用如下的语句: select usr.id, usr.name from User as usr left join us
一直做开发,很少关注测试工具,尤其是以往的测试都主要是Junit测试,难免在web层面上因没有严格测试而经常出现bug,近来小小接触了一下这一类的测试工具,感觉蛮好玩的,在此和大家分享一下,希望多多交流。 一、Selenium IDE 介绍 下载selenium ide插件并安装(firefox),在tools菜单下可以看到。 单击上面的红色原点,即可对你在网页上的任何操作做记录,以
一直做开发,很少关注测试工具,尤其是以往的测试都主要是Junit测试,难免在web层面上因没有严格测试而经常出现bug,近来小小接触了一下这一类的测试工具,感觉蛮好玩的,在此和大家分享一下,希望多多交流。 一、Selenium IDE 介绍 下载selenium ide插件并安装(firefox),在tools菜单下可以看到。 单击上面的红色原点,即可对你在网页上的任何操作做记
严格说来,Selenium是一套完整的Web应用程序测试系统,它包含了测试的录制(Selenium IDE)、编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可运行于任何支持JavaScript的浏览器上。Selenium Core由一
区块链是一个数字化,去中心化的分布式 账本(ledger)。但是这句话反过来说,是不正确的。也就是说,区块链是分布式账本,但不是每个分布式账本都是区块链。比如,在很多人眼里,私有链,联盟链,或者说许可链,都只是分布式账本,而不是区块链。区块链的核心是共识,是人人可参与。 说到区块链的重要性,很多人会从比特币,从货币历史谈起。但是,货币仅仅是区块链第一个成功的应用而已,并且不太可能是它最重要的一个案
根据 Monero(门罗) 官网: Monero 是一个安全,隐私和不可追踪的加密货币。通过使用密码学中一种特殊的方法,门罗确保了所有交易保持 100% 的不可关联和不可追溯性(unlinkable and untraceable)。在一个日益透明的世界,你会明白为什么门罗会被人们所期待。通过本文,我们将会看到门罗背后的机制,到底是什么使它如此特别。 起源 2012 年 7 月,Bytecoin
本文为卡尔达诺(Cardano)的入门读物,主要内容为卡尔达诺的整个项目概览: 卡尔达诺是什么,为什么,有何独特之处,以及团队组织。 ADA 是什么,乌洛波罗斯(Ouroboros)共识。 卡尔达诺 是什么,为什么 卡尔达诺是一个去中心化的公有区块链和加密货币项目,它目前正在开发一个智能合约平台,该平台旨在提供更多超越以往任何协议的高级功能。它是第一个衍生自科学哲学的区块链平台,主要以研究驱动,开