ASP.NET Core 編碼、web編碼、網頁編碼 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)損害應用

也就是說,會對一些符號、中文等進行編碼,使它不能按照原來的形式出現。

編碼

假設有一個新聞系統,用戶可以在新聞文章下評論,如果用戶評論時發表了一段惡意的 javascript 代碼。

若是系統不加以處理,那么當其他用戶打開這篇新聞時,會加載這個人的評論,就會執行這段惡意的 javascript 代碼。

tmlEncoder.Default.Encode 可以把字符串中的 特殊符號(包括中文) 轉為編碼

示例

新建一個asp.net core 應用

在控制器加入以下方法

編譯運行,打開視圖

 可以看到,視圖 a 的字符串按照原先的文字進行輸出。而視圖 b 編碼后的文字會編碼特殊符號。

有編碼就有解碼,在這里不再贅述。


其它四個類的使用基本一致,這里就不再贅述

請參考

https://docs.microsoft.com/zh-cn/dotnet/api/system.text.encodings.web?view=netcore-2.0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM