Encoding 清理HTML-获取一些未知的编码?

Encoding 清理HTML-获取一些未知的编码?,encoding,.net-core,html-sanitizing,Encoding,.net Core,Html Sanitizing,我正在使用解析.netcore中的输入来防止XSS注入。HtmlSanitizer实现-我不知道Angle Sharp做什么,但它对一些字符进行编码,如: 输入: !;@#$%^&*():?~ 输出: !;@$%^&;*():“?~ 请注意,和&分别被编码为、和&。我这里有两个问题: 这是什么编码 (可选)是否有方法使用AngleSharp或其他库来撤消它 旁注-所有有害的东西都会根据需要被剥离,这种格式的改变无论如何都会发生在“安全”html上,只是要指出,我并没有撤销

我正在使用解析
.netcore
中的输入来防止
XSS注入
。HtmlSanitizer实现-我不知道Angle Sharp做什么,但它对一些字符进行编码,如:

输入:

!;@#$%^&*():?~

输出:

!;@$%^&;*():“?~

请注意,
&
分别被编码为
&
。我这里有两个问题:

  • 这是什么编码
  • (可选)是否有方法使用AngleSharp或其他库来撤消它

  • 旁注-所有有害的东西都会根据需要被剥离,这种格式的改变无论如何都会发生在“安全”html上,只是要指出,我并没有撤销该库的任何安全特性,所以我们不会就此进行长时间的讨论

    这些字符串是HTML编码的。html编码的目的是防止XSS,但由于我已经剥离了任何可能有害的代码,所以在我的情况下,这只是杀伤力过大。更多详细信息请参见本答案(引用自此处):

    • 小于字符()转换为
    • 符号和字符(&)转换为
      &
    • 双引号字符(“)转换为
    • 代码大于或等于0x80的任何ASCII码字符 转换为
      和#
      ,其中 是ASCII字符值

    如前所述,您可以使用内置工具在
    .NET Core
    中对字符串进行html编码和解码。

    请提供一个示例。如果您知道编码是什么,您可能会从发布的信息中知道@Asp.Net中内置了HTML编码/解码。有关更多信息,请参阅。