基础应用

关注公众号 jb51net

关闭
首页 > 网络编程 > ASP.NET > 基础应用 > ASP.NET Core System.Text.Encodings.Web

ASP.NET Core命名空间System.Text.Encodings.Web介绍

作者:痴者工良

这篇文章介绍了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)损害应用

也就是说,会对一些符号、中文等进行编码,使它不能按照原来的形式出现。

编码

假设有一个新闻系统,用户可以在新闻文章下评论,如果用户评论时发表了一段恶意的 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

到此这篇关于ASP.NET Core命名空间System.Text.Encodings.Web介绍的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文