0

搜索引擎不足以获取有关字典参数形状的信息

    AjaxControlToolkit.Sanitizer.HtmlAgilityPackSanitizerProvider sanitizer = 
    new AjaxControlToolkit.Sanitizer.HtmlAgilityPackSanitizerProvider();

    textBoxPublicInput.Text =
    sanitizer.GetSafeHtmlFragment(
            textBoxPublicInput.Text,aDictionary,anotherDictionary
                                 );

我必须在 aDictionary 和 anotherDictionary 参数中输入什么?元素必须是什么?我看到它需要一个字符串到字符串字典数组,但是哪些字符串?都有些什么样的规矩?

让我们假设可信标签只有 <a>、<p>、<div> 和 <ul>-<li>。由于 html 编辑器扩展程序,主要目的是保护站点免受注入。

谢谢你的时间。

4

1 回答 1

1

以下适用于AjaxControlToolkit.HtmlEditor.Sanitizer nuget

您需要一个Dictionary<string, string[]>,其中键是p元素名称(例如,值是该元素的允许属性数组(例如style,,class)。

    var validHtmlTags = new Dictionary<string, string[]>
    {
        {"p", new[] {"style", "class", "align"}},
        {"div", new[] {"style", "class", "align"}}
        //etc ...
    };

   var sanitizer = new AjaxControlToolkit.HtmlEditor.Sanitizer.DefaultHtmlSanitizer();
   var sanitized = sanitizer.GetSafeHtmlFragment(toBeSanitizedText, validHtmlTags);
于 2015-04-09T06:42:51.277 回答