前端jsp中處理特殊字元方法總結
前段時間修改一個前端jsp頁面的,測試組發現一個問題可讓我糾結很久了,現在終於解決了來總結一下,下次就方便了。
問題:
jsp頁面輸入框中輸入了類似 <script>alert("測試指令碼")</script> 這樣的惡意指令碼,在頁面載入的時候會彈出 alert提示框,很是討厭。
解決方案:
第一種:如果是頁面回顯的話或者在標籤內使用這個值的話,可以使用
使用fn:escapeXml()函式轉義字元,可以解釋為XML標記。
使用這個函式之前必須在頁面中導引入下面二行程式碼
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
第二種:如果剛才的問題不是出現在jsp標籤和jsp頁面展示的內容裡面,而是出現的jsp的js中,比如我們從後臺資料中獲取了 類似 <script>alert("測試指令碼")</script> 這樣的惡意指令碼 就不能使用第一種方案了,我也正是被這個問題困擾,最後找到了一個簡單的解決方案,替換掉腳本里面的特殊符號 < >,使用正則表示式來實現:
我寫一個這樣的函式,有可能出現惡意指令碼的字元都用這個函式處理一下就可以了。
function escapeCharactor(val){
return val.replace(new RegExp("<","g"),"<").replace(new RegExp(">","g"),">");
}
相關推薦
前端jsp中處理特殊字元方法總結
前段時間修改一個前端jsp頁面的,測試組發現一個問題可讓我糾結很久了,現在終於解決了來總結一下,下次就方便了。 問題: jsp頁面輸入框中輸入了類似 <script>alert("測試指令碼")</script> 這樣的惡意指令碼,在頁面載入的時候會彈出 ale
JSP中處理特殊字元
在jsp頁面中我們常常需要處理一些特殊的字元,當然我們可以在後臺業務邏輯中處理完畢在Jsp上顯示,如果不想這樣做,我們可以藉助jstl標籤在jsp頁面上也可以輕鬆實現。 1.對於數字百分比貨幣等 使用標籤<fmt:formatNumber>
JSP中out物件的方法總結
out物件被封裝為javax.servlet.jsp.jspWriter介面,通過呼叫pageContext.getOut()方法可以獲取out物件。1.public abstract void clear()清除緩衝區中的內容,不將資料傳送至客戶端。2.public ab
在SQLSERVER中處理特殊字元以及空格。
--去除特殊字元,只留0-9,a-z,A-Z declare @teststr varchar(100) set @teststr='test #123^we' while patindex('%[^0-9a-zA-Z]%',@teststr)>0 S
字串中有特殊字元的處理
用正則表示式進行轉換處理 使用正則表示式也是一種常用的處理方式,實現原理就是使用替換的方式來實現轉碼和解碼,轉碼時把<>,空格符,&,’,""替換成html編碼,解碼就把html編碼替換成對應的字元,實現程式碼如下: var HtmlUtil = { /1.用正則
JQ的選擇器中出現特殊字元的處理
HTML <body> <div id="id.a">aa</div> <div id="id#b">bb</div> <div id="id[1]">cc</div> </body>
【潤乾報表5】資料庫密碼中含有特殊字元潤乾應用部署時xml怎麼處理
問題舉例: 資料庫密碼中含有<字元,報表設計器下配置資料來源時,設計器會自動將這些特殊字元進行轉換,然而如果當我們在專案部署或整合時扔按照常規的配置,配置資料庫連線池時,會發現訪問報表時網頁出現如下報錯資訊: 問題總結: 經排查發現xml檔案
處理FusionCharts圖表中的特殊字元(%,¥,&等)
文章轉載自:慧都控制元件網 [http://www.evget.com] 概述:在FusionCharts圖表裡,如果要在圖形裡用到一些特殊的字元,你就要對它進行編碼,否則就無法顯示。本文中例舉了FusionCharts圖表中一些特殊字元來進行編碼,希望對學習Fusi
java處理url中的特殊字元%等
java處理url中的特殊字元(如&,%...) URL(Uniform Resoure Locator,統一資源定位器)是Internet中對資源進行統一定位和管理的標誌。一個完整的URL包括如下內容:1. &
XAML中的特殊字元以及空白的處理
XAML受限於XML的規則,例如,XML特別關注一些特殊字元,如&,<以及>。如果試圖使用這些字元設定一個元素的內容,將會遇到很多麻煩,因為XAML解析器認為正
JSON中對特殊字元的處理
在前臺通過textarea儲存資料到後臺資料庫時,如果資料中存在回車符等特殊字元時,就無法把資料封裝成json資料傳到前臺顯示,這時需要在傳回前臺之前轉義或替換資料中的特殊字元,然後在拼接封裝成json資料。替換方法如下: /** * 處理json中的特
javascript處理url中有特殊字元的情況如“{、#、}...”
JavaScript中有三個可以對字串編碼的函式, 分別是: escape(),encodeURI(),encodeURIComponent(), 相應3個解碼函式: unescape(),decodeURI(),decodeURIComponent() 。 下面
JS中含有特殊字元的處理
js連結中含有+號特殊字元處理,不能傳到後臺 用encodeURIComponent將特殊字元轉義後即可。 實際用例: export function publishNotice(contents,title) { contents=encode
Ajax 以GET方式請求時,引數中包含 "#" 特殊字元的處理
現象 在使用 jquery 的ajax呼叫後臺的介面時,如果是get方式的話,當引數中含有”#”這些等對於URI而言有著特殊含義的符號時,發現“#”字元後面的資訊全被裁掉了。 比如: var url= "xxxx?name=" + "wz#aaa"
JAVA如何處理URL中的特殊字元
方法1: String str="http://www.baidu.com/api/?action=s2s_install&a={appsunion}&b=3&c=30029
iOS Http傳輸過程中對特殊字元的處理
在進行http傳輸的過程,如果有特殊的符合,例如“+,&。*”,不會進行處理,都直接替換掉了。 原因:預設的系統不會對這些特殊符號進行轉義,只會進行替換 解決辦法:在post之前對這些特殊符
android 網路請求url中有特殊字元解決方法
經常在get網路請求中有特殊字元,系統編碼 自動轉譯這些特殊字元有些字元在URL中具有特殊含義,基本編碼規則如下:特殊含義 十六進位制值1.+ 表示空格(在 URL 中不能使用空格) %202./ 分隔目錄和子目錄 %2F3.? 分隔實際的 URL 和引數 %3F4.% 指定
sed 處理替換字元中的特殊字元
今天編寫shell程式時遇到了一個關於sed命令的問題。問題簡化如下。 文字檔案1.txt中包含字串[:50] ~/Documents/books/linux/test$:cat 1.txt [:50] 願意想將[:50]替換為[50:100],指令碼如下:~/Docu
C#中幾種常用的處理字串的方法總結
主要有以下幾種: string[i]所獲得的元素是隻讀的。 string.ToCharArray() (把string獲得一個可寫的字元陣列) string.Replace(old, new)(將字串中指定字元或者子字串做相應的替換) string.ToLower
(android檔案下載)下載連結中包含特殊字元--空格,中文等,導致無法識別處理方案
今天在app測試時出現標題所示錯誤,導致無法正常重server端下載檔案; 通過檢視日誌,瞭解到是由於下載連結中出現空格、中文等特殊字元,導致連線地址不合法; 在網上也查看了很多描述相關問題解決方案的帖子,很有啟發-- 但是考慮到方便自己和大家,還是把問題和解決方案貼出來