Home > Web Front-end > JS Tutorial > body text

jquery ajax对特殊字符进行转义防止js注入

WBOY
Release: 2016-06-01 09:54:13
Original
1347 people have browsed it

在使用ajax进行留言的时候,出现了一个问题.因为留言内容写完之后,通过ajax提交内容,同时使用js把留言的内容添加到页面上来.浏览留言的时候也是通过ajax请求,然后再显示的.这样,如果有人在留言里写入了js语句,这结语句都会被执行.解决办法就是对这些特殊字符进行转义再显示出来.如果在jsp中使用jstl标签,就很简单了.直接使用这样就行了,会自动进行转义,其中省略了参数escapeXML=”true”,这是默认的.所以说在显示这些用户提交的内容的时候不要用el表达示,因为el不会自动进行转义,用c:out比较好.而如果也是通过ajax请求,然后再显示的,那就用下面的方法.其实也很简单. 

<code class="language-javascript">var html="<script>alert('asdfasdf')<\/script>"; 
$("#content").text(html); </script></code>
Copy after login

那么会发生什么情况 解决办法很简单 就是把这些特殊字符进行转义也就是变成> 使用jquery对字符进行转义这样就可以了 

<code class="language-html"> 
<script> 
var html="<script>alert('asdfasdf')<\/scipt>"; 
html=$("#x").text(html).html(); 
$("#content").append("<div>"+html+""); 
</script> 
 
 
<spanid> 
<divid> 
 </divid></spanid></code>
Copy after login

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template