0

안녕하세요 저는 asp.net mvc 2와 Visual Studio 2008을 사용하고 있습니다. 리치 텍스트 편집기 (경량 RTE)로 생성 된 입력을 santitize하려면 anti xss 라이브러리가 필요합니다. AntiXss.GetSafeHtmlFragment (입력)을 사용하고 싶습니다. 기능.Anti-XSS가 추가 된 후 VS 2008이 손상됨

문제는 VS 2008이 반 xss dll을 참조한 후 충돌이 발생한다는 것입니다 (처음에는 문제가 없지만 충돌보다 좋음).

아무도이 문제를 해결하는 방법이 있습니까? 누군가가 나를 작동하는 altrenative (필자는 HTML 민첩성 팩을 사용하여 화이트리스트를 허용하면서도 속성이없는 태그 만 허용하도록 관리함)을 지적 할 수 있습니다.

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로 되돌릴 때 왜 분쇄되는지 알게되었습니다. VS 2008의 전원 명령 추가 기능 때문입니다. 제거한 것이므로 문제가 없습니다.

관련 문제