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实现伸展与合拢panel的方法
Apr 30 Javascript
jquery操作select元素和option的实例代码
Feb 03 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
Mar 05 Javascript
详解Javascript函数声明与递归调用
Oct 22 Javascript
Node.js Sequelize如何实现数据库的读写分离
Oct 23 Javascript
基于javascript的Form表单验证
Dec 29 Javascript
jquery实现焦点轮播效果
Feb 23 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
Apr 11 Javascript
Vue搭建后台系统需要注意的问题
Nov 08 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
Nov 04 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
Nov 04 Javascript
JavaScript async/await原理及实例解析
Dec 02 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
SONY SRF-M100的电路分析
2021/03/02 无线电
PHP 飞信好友免费短信API接口开源版
2010/07/22 PHP
PHP+MySQL投票系统的设计和实现分享
2012/09/23 PHP
比较简单的百度网盘文件直链PHP代码
2013/03/24 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
2014/06/12 PHP
PHP入门教程之操作符与控制结构流程详解
2016/09/09 PHP
PHP设计模式之策略模式原理与用法实例分析
2019/04/04 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
2012/10/15 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
基于javascript实现九九乘法表
2016/03/27 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
2016/05/05 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
JavaScript中String对象的方法介绍
2017/01/04 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
react实现antd线上主题动态切换功能
2019/08/12 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
python访问类中docstring注释的实现方法
2015/05/04 Python
浅谈python import引入不同路径下的模块
2017/07/11 Python
机器学习实战之knn算法pandas
2019/06/22 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
浅谈Django2.0 加xadmin踩的坑
2019/11/15 Python
python使用SQLAlchemy操作MySQL
2020/01/02 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
python中操作文件的模块的方法总结
2021/02/04 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
护士自我评价
2014/02/01 职场文书
小学生竞选班干部演讲稿
2014/04/24 职场文书
2014年安全生产工作总结
2014/11/13 职场文书