jQuery模板提案(8)
作者:dishuipiaoxiang 来源:Denis'Blog 发布时间:2010-03-30 18:27:00
标签:jquery,模板,Javascript,对象
HTML插入
默认情况下,数据项在模板中被渲染时不会被HTML编码。如果你在一个模板中显示用户提交的数据,那么恶意用户就能够执行跨站点脚本攻击(XSS)。
注意下面代码中第一个产品的名字,第一个产品包含一个没有任何恶意的onClick事件处理程序,当数据项显示,有人点击了产品名字,JavaScript得到执行。
<script type="text/javascript">
jQuery(function(){
var products = [
{ name: "<a onclick='alert(\"do evil\")'>click here</a>", price: 12.99},
{ name: "Product 2", price: 9.99},
{ name: "Product 3", price: 35.59}
];
$("ul").append("#template", products);
});
</script>
<script id="template" type="text/html">
<li>{%= name %} - {%= price %}</li>
</script>
<ul></ul>
为了很容易的在一个模板中给要显示的数据进行HTML编码,使你免遭这种XSS的进攻,可以使用一个名为text()的内置函数。text()函数将一个数据项转换成文本节点。这里告诉你如何使用text()函数。
<script type="text/javascript">
jQuery(function(){
var products = [
{ name: "<a onclick='alert(\"do evil\")'>click here</a>", price: 12.99},
{ name: "Product 2", price: 9.99},
{ name: "Product 3", price: 35.59}
];
$("ul").append("#template", products);
});
</script>
<script id="template" type="text/html">
<li>{% text(name) %} - {%= price %}</li>
</script>
<ul></ul>


猜你喜欢
- 1、$nextTickvm.$nextTick( [callback] )this.$nextTick()将回调延迟到下次 DOM 更新循环
- 目录mapfiltersomeeveryfindIndexpipe参考答案一、返回函数接受一个参数二、返回函数接受不定参数实现 lodash
- rpc 包提供了一个方法来通过网络或者其他的I/O连接进入对象的外部方法. 一个server注册一个对象, 标记它成为可见对象类型名字的服务
- 前言当数据库中存量数据较多时,或者是在批量插入操作时,很容易出现插入重复数据的问题。一、三种方法在 mysql 中,当存在主键冲突或唯一键冲
- 本文实例为大家分享了vue.js实现简易折叠面板的具体代码,供大家参考,具体内容如下代码如下:主文件:app.vue<template
- 在跨业务、跨网站发送数据或者业务升级的时候,我们有的时候需要指定发送数据的编码方式,比如页面是utf-8编码的,而发送出去的数据却是GB23
- 假设你已经做好了如下配置和尝试在Extensions中安装好了Remote -SSH添加了你要访问的服务器ip地址等信息,并拥有了一个con
- 代码如下:---找出促销活动中销售额最高的职员 ---你刚在一家服装销售公司中找到了一份工作,此时经理要求你根据数据库中的两张表
- 连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) 断开:exit (回车) 创建授权
- 一、在搭建的时候参考以下文章http://www.cnblogs.com/zsy/archive/2016/02/28/5223957.ht
- 在上一篇Python接口自动化测试系列文章:Python接口自动化之浅析requests模块get请求,介绍了requests模块、get请
- Python项目文件中安装 setup.py安装 setup.py 的过程与安装其他的 Python 包的过程类似。首先,你需要下载或者使用
- 在php.ini中存在三项配置项:session.save_path="" --设置session的存储路径
- 直接进入主题立方体每列颜色不同:# Import librariesimport matplotlib.pyplot as pltfrom
- 我就废话不多说了,大家还是直接看代码吧!import pandas as pddef get_under_rolling(df,window
- 1.安装python3yum -y install wget gcc make zlib-devel readline-devel bzip
- /** * The maximum supported {@code LocalTime}, '23:59:59.999999999
- 上篇博客转载了关于感知器的用法,遂这篇做个大概总结,并实现一个简单的感知器,也为了加深自己的理解。感知器是最简单的神经网络,只有一层。感知器
- 学委前面展示dict的概念和增删查改!这次我们把其他函数介绍补充了。dict 的元素定位(键/值定位)和遍历dict这种对象我们可以通过 k
- 一:re.search():search返回的是查找结果的对象,可以使用group()或groups()方法得到匹配成功的字符串。①grou