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 动态table添加colspan\rowspan 参数的方法
Jul 25 Javascript
js动态创建、删除表格示例代码
Aug 07 Javascript
JS截取字符串常用方法详细整理
Oct 28 Javascript
JavaScript数值转换的三种方式总结
Jul 31 Javascript
轻量级网页遮罩层jQuery插件用法实例
Jul 31 Javascript
详解javascript的变量与标识符
Jan 04 Javascript
Angularjs实现多个页面共享数据的方式
Mar 29 Javascript
JavaScript中数组slice和splice的对比小结
Sep 22 Javascript
js单页hash路由原理与应用实战详解
Aug 14 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
Jul 20 Javascript
微信小程序按钮点击动画效果的实现
Sep 04 Javascript
JS setTimeout与setInterval的区别
Apr 20 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中的(伪)多线程与多进程
2013/07/01 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
2014/08/23 PHP
ThinkPHP中处理表单中的注意事项
2014/11/22 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
2019/10/24 PHP
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
『jQuery』名称冲突使用noConflict方法解决
2013/04/22 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
详谈javascript精度问题与调整
2017/07/08 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
vue resource post请求时遇到的坑
2017/10/19 Javascript
深入理解node.js http模块
2018/01/24 Javascript
一个简单的node.js界面实现方法
2018/06/01 Javascript
JavaScript简易计算器制作
2020/01/17 Javascript
JavaScript WeakMap使用详解
2021/02/05 Javascript
python出现&quot;IndentationError: unexpected indent&quot;错误解决办法
2017/10/15 Python
利用pandas进行大文件计数处理的方法
2018/07/25 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
详解Django模版中加载静态文件配置方法
2019/07/21 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
Python使用python-docx读写word文档
2019/08/26 Python
利用python进行文件操作
2020/12/04 Python
有关HTML5中背景音乐的自动播放功能
2017/10/16 HTML / CSS
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
ebookers英国:隶属全球最大的在线旅游公司Expedia
2017/12/28 全球购物
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
STP的判定过程
2012/10/01 面试题
办理生育手续介绍信
2014/01/14 职场文书
2015年纪检监察工作总结
2015/04/08 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
六年级作文之关于梦
2019/10/22 职场文书
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang