ASP.NET?Core命名空間System.Text.Encodings.Web介紹
System.Text.Encodings.Web
空間包含表示 Web 編碼器的基類、表示 HTML、JavaScript 和 Url 字符編碼的子類,以及表示僅允許編碼特定字符、字符范圍或碼位的篩選器的類。
[ 定義來自 microsoft ]
該命名空間有五個類,用于不同對象的編碼處理。
五個類
HtmlEncoder | 表示 HTML 字符編碼。 |
JavaScriptEncoder | 表示 JavaScript 字符編碼。 |
TextEncoder | Web 編碼器的基類。 |
TextEncoderSettings | 表示僅允許特定 Unicode 碼位的篩選器。 |
UrlEncoder | 表示 URL 字符編碼。 |
HtmlEncoder
HtmlEncoder 與HtmlEncoder.Default 的方法有以下幾種
Create、Default、Equals、ReferenceEquals
具體為
我們一般只用到 HtmlEncoder.Default.Encode()
HtmlEncoder.Default.Encode()的用法
微軟官方的定義
使用HtmlEncoder.Default.Encode
防止惡意輸入(即 JavaScript)損害應(yīng)用
也就是說,會對一些符號、中文等進行編碼,使它不能按照原來的形式出現(xiàn)。
編碼
假設(shè)有一個新聞系統(tǒng),用戶可以在新聞文章下評論,如果用戶評論時發(fā)表了一段惡意的 javascript 代碼。
若是系統(tǒng)不加以處理,那么當(dāng)其他用戶打開這篇新聞時,會加載這個人的評論,就會執(zhí)行這段惡意的 javascript 代碼。
tmlEncoder.Default.Encode 可以把字符串中的 特殊符號(包括中文) 轉(zhuǎn)為編碼
示例
新建一個asp.net core 應(yīng)用
在控制器加入以下方法
編譯運行,打開視圖
可以看到,視圖 a 的字符串按照原先的文字進行輸出。而視圖 b 編碼后的文字會編碼特殊符號。
有編碼就有解碼,在這里不再贅述。
其它四個類的使用基本一致,這里就不再贅述
請參考
https://docs.microsoft.com/zh-cn/dotnet/api/system.text.encodings.web?view=netcore-2.0
到此這篇關(guān)于ASP.NET Core命名空間System.Text.Encodings.Web介紹的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ASP.NET?MVC模式中應(yīng)用程序結(jié)構(gòu)詳解
本文詳細講解了ASP.NET?MVC模式中的應(yīng)用程序結(jié)構(gòu),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03.Net行為型設(shè)計模式之命令模式(Command)
這篇文章介紹了.Net行為型設(shè)計模式之命令模式(Command),文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05C#列出局域網(wǎng)中可用SQL Server服務(wù)器(續(xù))
上一篇文章展示了使用COM對象如何列出局域網(wǎng)中的 SQL Server服務(wù)器信息,后來還發(fā)現(xiàn)在.Net中有現(xiàn)成的類可用,而不需要使用不太熟悉的COM對象了,這樣豈不是更好?下面我把代碼展示給大家:2008-04-04為大家經(jīng)常為md5加密過的常用admin,admin888,0000密碼
為大家經(jīng)常為md5加密過的常用admin,admin888,0000密碼...2007-10-10asp.net(C#) Access 數(shù)據(jù)操作類
asp.net(C#) Access 數(shù)據(jù)操作類 實現(xiàn)代碼,有需要這方面的朋友可以熟悉下。2009-06-06ADO.NET 連接數(shù)據(jù)庫字符串小結(jié)(Oracle、SqlServer、Access、ODBC)
ADO.NET 連接數(shù)據(jù)庫字符串小結(jié),包括Oracle、SqlServer、Access、ODBC,需要的朋友可以收藏下2012-04-04