jquery ajax對(duì)特殊字符進(jìn)行轉(zhuǎn)義防止js注入使用示例
在使用ajax進(jìn)行留言的時(shí)候,出現(xiàn)了一個(gè)問題.因?yàn)榱粞詢?nèi)容寫完之后,通過ajax提交內(nèi)容,同時(shí)使用js把留言的內(nèi)容添加到頁面上來.瀏覽留言的時(shí)候也是通過ajax請(qǐng)求,然后再顯示的.這樣,如果有人在留言里寫入了js語句,這結(jié)語句都會(huì)被執(zhí)行.解決辦法就是對(duì)這些特殊字符進(jìn)行轉(zhuǎn)義再顯示出來.如果在jsp中使用jstl標(biāo)簽,就很簡單了.直接使用<c:out value=”${r.content}” />這樣就行了,會(huì)自動(dòng)進(jìn)行轉(zhuǎn)義,其中省略了參數(shù)escapeXML=”true”,這是默認(rèn)的.所以說在顯示這些用戶提交的內(nèi)容的時(shí)候不要用el表達(dá)示,因?yàn)閑l不會(huì)自動(dòng)進(jìn)行轉(zhuǎn)義,用c:out比較好.而如果也是通過ajax請(qǐng)求,然后再顯示的,那就用下面的方法.其實(shí)也很簡單.
var html="<script>alert('asdfasdf')<\/script>";
$("#content").text(html);
那么會(huì)發(fā)生什么情況 解決辦法很簡單 就是把這些特殊字符進(jìn)行轉(zhuǎn)義也就是<變成<>變成> 使用jquery對(duì)字符進(jìn)行轉(zhuǎn)義這樣就可以了
<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>
相關(guān)文章
jQuery解析與處理服務(wù)器端返回xml格式數(shù)據(jù)的方法詳解
這篇文章主要介紹了jQuery解析與處理服務(wù)器端返回xml格式數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了jQuery基于ajax的get方法與后臺(tái)交互操作xml格式數(shù)據(jù)的相關(guān)技巧與注意事項(xiàng),需要的朋友可以參考下2016-07-07JQuery使用數(shù)組遍歷跳出each循環(huán)
這篇文章主要介紹了JQuery使用數(shù)組遍歷跳出each循環(huán),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09對(duì)jquery的ajax進(jìn)行二次封裝以及ajax緩存代理組件:AjaxCache詳解
下面小編就為大家?guī)硪黄獙?duì)jquery的ajax進(jìn)行二次封裝以及ajax緩存代理組件:AjaxCache詳解。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-04-04jQuery仿360導(dǎo)航頁圖標(biāo)拖動(dòng)排序效果代碼分享
這篇文章主要為大家詳細(xì)介紹了360導(dǎo)航頁圖標(biāo)拖動(dòng)排序效果代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-08-08jquery實(shí)現(xiàn)文本框數(shù)量加減功能的例子分享
在做商城項(xiàng)目的時(shí)候,需要在購物車中增加一個(gè)商品加減功能,并在加減時(shí)同時(shí)修改總價(jià)格的顯示,并且保證文本框text只能輸入純數(shù)字2014-05-05JQuery對(duì)表格進(jìn)行操作的常用技巧總結(jié)
這篇文章主要介紹了JQuery對(duì)表格進(jìn)行操作的常用技巧,需要的朋友可以參考下2014-04-04