0

Привет, я использую визуальную студию 2008 с asp.net mvc 2. Мне нужна библиотека анти-xss для santitize ввода, созданного с помощью текстового редактора (легкий RTE). Я хочу использовать AntiXss.GetSafeHtmlFragment (input); функция.VS 2008 сбой после добавления Anti-XSS

проблема заключается в том, что VS 2008 сбой после того, как я ссылаюсь на анти-xss dll (он работает отлично в первый раз, но он сбой).

Кто-нибудь, как решить эту проблему? Если нет, кто-нибудь может указать мне на рабочий альпинист (я попробовал использовать hmml agility pack, разрешая белый список, но мне удалось разрешить теги без атрибутов).

код для аджилити фильтра HTML -

public static string Filter(string html, string[] allowedTags) 
     { 
      HtmlDocument doc = new HtmlDocument(); 
      doc.LoadHtml(html); 
      StringBuilder buffer = new StringBuilder(); 
      Process(doc.DocumentNode, buffer, allowedTags); 
      return buffer.ToString(); 
     } 
     static string[] RemoveChildrenOfTags = new string[] { "script", "style" }; 
     static void Process(HtmlNode node, StringBuilder buffer, string[] allowedTags) 
     { 
      switch (node.NodeType) 
      { 
       case HtmlNodeType.Text: 
        buffer.Append(HttpUtility.HtmlEncode(((HtmlTextNode)node).Text)); 
        break; 
       case HtmlNodeType.Element: 
       case HtmlNodeType.Document: 
        bool allowedTag = allowedTags.Contains(node.Name.ToLower()); 
        if (allowedTag) 
         buffer.AppendFormat("<{0}>", node.Name); 
        if (!RemoveChildrenOfTags.Contains(node.Name)) 
         foreach (HtmlNode childNode in node.ChildNodes) 
          Process(childNode, buffer, allowedTags); 
        if (allowedTag) 
         buffer.AppendFormat("</{0}>", node.Name); 
        break; 
      } 
     } 

Спасибо!

ответ

1

Я нашел, почему VS 2008 сжимается при перекрестке с AntiXss - это из-за команд power addin для VS 2008. удалил его, и все в порядке.

Смежные вопросы