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 相关文章推荐
代码精简的可以实现元素圆角的js函数
Jul 21 Javascript
出现“不能执行已释放的Script代码”错误的原因及解决办法
Aug 29 Javascript
JS面向对象编程浅析
Aug 28 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
Oct 20 Javascript
js简单设置与使用cookie的方法
Jan 22 Javascript
理解javascript中Map代替循环
Feb 26 Javascript
jQuery实现图像旋转动画效果
May 29 Javascript
javascript弹出带文字信息的提示框效果
Jul 19 Javascript
bootstrap快速制作后台界面
Dec 05 Javascript
实例介绍JavaScript中多种组合继承
Jan 20 Javascript
vue组件系列之TagsInput详解
May 14 Javascript
taro 实现购物车逻辑的实例代码
Jun 05 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实现三级级联下拉框
2016/04/17 PHP
PHP面向对象自动加载机制原理与用法分析
2016/10/14 PHP
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
jQuery添加和删除输入文本框标签代码
2016/05/20 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
如何用js实现鼠标向上滚动时浮动导航
2016/07/18 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
js实现图片360度旋转
2017/01/22 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
Python enumerate索引迭代代码解析
2018/01/19 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
python实现屏保计时器的示例代码
2018/08/08 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
2018/12/05 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
Django框架组成结构、基本概念与文件功能分析
2019/07/30 Python
python2使用bs4爬取腾讯社招过程解析
2019/08/14 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
python logging.info在终端没输出的解决
2020/05/12 Python
HEMA法国:荷兰原创设计
2019/02/21 全球购物
美国购物网站:Clickhere2shop
2021/01/28 全球购物
举例说明类变量和实例变量的区别
2016/06/30 面试题
医院信息公开实施方案
2014/05/09 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
2014年销售部工作总结
2014/12/01 职场文书
护士求职简历自我评价
2015/03/10 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
nginx location中多个if里面proxy_pass的方法
2021/03/31 Servers
Python自动化实战之接口请求的实现
2022/05/30 Python
MySQL聚簇索引和非聚簇索引的区别详情
2022/06/14 MySQL