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动态调整iframe高度的代码
Apr 10 Javascript
批量修改标签css样式以input标签为例
Jul 31 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
Nov 09 Javascript
angular-cli修改端口号【angular2】
Apr 19 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
Mar 12 Javascript
详解Vue源码学习之callHook钩子函数
Jul 25 Javascript
JQuery扩展对象方法操作示例
Aug 21 jQuery
JS使用iView的Dropdown实现一个右键菜单
May 06 Javascript
Typescript3.9 常用新特性一览(推荐)
May 14 Javascript
ant design pro中可控的筛选和排序实例
Nov 17 Javascript
vue3.0封装轮播图组件的步骤
Mar 04 Vue.js
如何用vue实现网页截图你知道吗
Nov 17 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
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
php中的路径问题与set_include_path使用介绍
2014/02/11 PHP
在Laravel5中正确设置文件权限的方法
2019/05/22 PHP
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
基于jquery的一行代码轻松实现拖动效果
2010/12/28 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
Bootstrap模块dropdown实现下拉框响应
2016/05/22 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
2017/04/07 Javascript
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
详解Vue-Router源码分析路由实现原理
2019/05/15 Javascript
解决layui使用layui-icon出现默认图标的问题
2019/09/11 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
如何在vue中使用jointjs过程解析
2020/05/29 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
让python同时兼容python2和python3的8个技巧分享
2014/07/11 Python
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
简单介绍Python中的filter和lambda函数的使用
2015/04/07 Python
Django实现快速分页的方法实例
2017/10/22 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
浅析Python 多行匹配模式
2020/07/24 Python
python装饰器三种装饰模式的简单分析
2020/09/04 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
波兰多品牌运动商店:StreetStyle24.pl
2020/09/22 全球购物
Delphi笔试题
2016/11/14 面试题
外语专业毕业生个人的自荐信
2013/11/19 职场文书
法定代表人身份证明书
2014/09/10 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
2015年酒店工作总结
2015/04/28 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
医院保洁员管理制度
2015/08/05 职场文书
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js