我目前正在使用 Microsoft AntiXSS库并使用GetSafeHtmlFragment
方法,如下所示:
public static string SanitizeHtml(this string s)
{
return Sanitizer.GetSafeHtmlFragment(s);
}
但是,如果我传入这样的字符串:
black & white
...它正在对符号进行编码,因此它变为:
black & white
这个库的正常行为是什么?有没有办法阻止它编码这个角色?
答案 0 :(得分:1)
我不认为这是最好的解决方案。如果您使用HTML.Raw(),那么您将使自己容易受到XSS攻击,除非您可以绝对确定该字符串始终是安全的并且适用于HTML.Raw()的所有用途。
答案 1 :(得分:0)
这个库的正常行为是什么?
是的,它会修复您的HTML,因为您使用的是GetSafeHtmlFragment
。否则你最终会得到无效的HTML片段。在HTML中,&
字符具有特殊含义。我不认为这种行为可以修改。