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 相关文章推荐
jQuery提交表单ajax查询实例代码
Oct 07 Javascript
在Node.js应用中读写Redis数据库的简单方法
Jun 30 Javascript
jquery实现简单的二级导航下拉菜单效果
Sep 07 Javascript
简单实现js选项卡切换效果
Feb 03 Javascript
简单理解js的prototype属性及使用
Dec 07 Javascript
Javascript中return的使用与闭包详解
Jan 11 Javascript
深入理解基于vue-cli的vuex配置
Jul 24 Javascript
node.js遍历目录的方法示例
Aug 01 Javascript
js作用域和作用域链及预解析
Apr 11 Javascript
vue.js高德地图实现热点图代码实例
Apr 18 Javascript
layui动态绑定事件的方法
Sep 20 Javascript
vue组件vue-esign实现电子签名
Apr 21 Vue.js
利用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
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
2010/01/22 Javascript
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
JS实现关闭当前页而不弹出提示框的方法
2016/06/22 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
利用js判断手机是否安装某个app的多种方案
2017/02/13 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
Node.JS文件系统解析实例详解
2017/05/15 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
详解javascript中的Error对象
2019/04/25 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
JavaScript Tab菜单实现过程解析
2020/05/13 Javascript
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
[49:27]LGD vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
对于Python的Django框架使用的一些实用建议
2015/04/03 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
浅谈python可视化包Bokeh
2018/02/07 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
CSS3 Notes: -webkit-box-reflect实现倒影的实例
2016/12/08 HTML / CSS
Raffaello Network德国:意大利拉斐尔时尚购物网
2019/05/01 全球购物
描述内存分配方式以及它们的区别
2016/10/15 面试题
大一期末自我鉴定
2013/12/13 职场文书
探矿工程师自荐信
2014/01/24 职场文书
互联网电子商务专业毕业生求职信
2014/03/18 职场文书
松材线虫病防治方案
2014/06/15 职场文书
户外活动总结
2015/02/04 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL
浅谈python中的多态
2021/06/15 Python