jquery ajax对特殊字符进行转义防止js注入使用示例


Posted in Javascript onNovember 21, 2013

在使用ajax进行留言的时候,出现了一个问题.因为留言内容写完之后,通过ajax提交内容,同时使用js把留言的内容添加到页面上来.浏览留言的时候也是通过ajax请求,然后再显示的.这样,如果有人在留言里写入了js语句,这结语句都会被执行.解决办法就是对这些特殊字符进行转义再显示出来.如果在jsp中使用jstl标签,就很简单了.直接使用<c:out value=”${r.content}” />这样就行了,会自动进行转义,其中省略了参数escapeXML=”true”,这是默认的.所以说在显示这些用户提交的内容的时候不要用el表达示,因为el不会自动进行转义,用c:out比较好.而如果也是通过ajax请求,然后再显示的,那就用下面的方法.其实也很简单.

var html="<script>alert('asdfasdf')<\/script>"; 
$("#content").text(html);

那么会发生什么情况 解决办法很简单 就是把这些特殊字符进行转义也就是<变成<>变成> 使用jquery对字符进行转义这样就可以了
<head> 
<script> 
var html="<script>alert('asdfasdf')<\/scipt>"; 
html=$("#x").text(html).html(); 
$("#content").append("<div>"+html+"</div>"); 
</script> 
</head> 
<body> 
<spanid="x"style="display:none"></span> 
<divid="content"></div> 
</body>
Javascript 相关文章推荐
JavaScript 异步调用框架 (Part 6 - 实例 &amp; 模式)
Aug 04 Javascript
jquery validate.js表单验证的基本用法入门
May 13 Javascript
写得不错的jquery table鼠标经过变色代码
Sep 27 Javascript
js给页面加style无效果的解决方法
Jan 20 Javascript
Javascript核心读书有感之语言核心
Feb 01 Javascript
JavaScript判断对象是否为数组
Dec 22 Javascript
javascript的理解及经典案例分析
May 20 Javascript
JS实现的简单表单验证功能完整实例
Oct 14 Javascript
Vue仿今日头条实例详解
Feb 06 Javascript
深入理解Node module模块
Mar 26 Javascript
微信小程序缓存过期时间的使用详情
May 12 Javascript
JavaScript实现拖拽盒子效果
Feb 06 Javascript
利用jq让你的div居中的好方法分享
Nov 21 #Javascript
Flex通过JS获取客户端IP和计算机名的实例代码
Nov 21 #Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
Nov 21 #Javascript
JS连接SQL数据库与ACCESS数据库的方法实例
Nov 21 #Javascript
js中一个函数获取另一个函数返回值问题探讨
Nov 21 #Javascript
js设置组合快捷键/tabindex功能的方法
Nov 21 #Javascript
jtable列中自定义button示例代码
Nov 21 #Javascript
You might like
php access 数据连接与读取保存编辑数据的实现代码
2010/05/12 PHP
基于MySQL分区性能的详细介绍
2013/05/02 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
2019/01/10 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
验证javascript中Object和Function的关系的三段简单代码
2010/06/27 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
2011/01/11 Javascript
JavaScript判断DOM何时加载完毕的技巧
2012/11/11 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
2013/09/27 Javascript
jQuery实现标签页效果实战(4)
2017/02/08 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
JavaScript定时器setTimeout()和setInterval()详解
2017/08/18 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
python实现周期方波信号频谱图
2018/07/21 Python
Python:slice与indices的用法
2019/11/25 Python
python实现简单井字棋小游戏
2020/03/05 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
详解如何在PyCharm控制台中输出彩色文字和背景
2020/08/17 Python
CSS3美化表单控件全集
2016/06/29 HTML / CSS
Original Penguin美国官网:布拉德皮特、强尼德普喜爱的服装品牌
2016/10/25 全球购物
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
会展策划与管理专业大学生职业生涯规划
2014/02/07 职场文书
四查四看剖析材料
2014/02/14 职场文书
读书月活动方案
2014/05/22 职场文书
服务理念标语
2014/06/18 职场文书
单位授权委托书范文
2014/08/02 职场文书
食品安全责任书范本
2015/05/09 职场文书
致毕业季:你如何做好自己的职业生涯规划书?
2019/07/01 职场文书
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers