1. 程式人生 > >前端jsp中處理特殊字元方法總結

前端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"),"&lt;").replace(new RegExp(">","g"),"&gt;");
}

相關推薦

前端jsp處理特殊字元方法總結

          前段時間修改一個前端jsp頁面的,測試組發現一個問題可讓我糾結很久了,現在終於解決了來總結一下,下次就方便了。 問題: jsp頁面輸入框中輸入了類似 <script>alert("測試指令碼")</script> 這樣的惡意指令碼,在頁面載入的時候會彈出 ale

JSP處理特殊字元

在jsp頁面中我們常常需要處理一些特殊的字元,當然我們可以在後臺業務邏輯中處理完畢在Jsp上顯示,如果不想這樣做,我們可以藉助jstl標籤在jsp頁面上也可以輕鬆實現。 1.對於數字百分比貨幣等 使用標籤<fmt:formatNumber>

JSPout物件的方法總結

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端下載檔案; 通過檢視日誌,瞭解到是由於下載連結中出現空格、中文等特殊字元,導致連線地址不合法; 在網上也查看了很多描述相關問題解決方案的帖子,很有啟發-- 但是考慮到方便自己和大家,還是把問題和解決方案貼出來