.net framework4.5 提供了AntiXss类,来防范XSS攻击。
在开放指令的同时过滤危险字符串,使用AntiXss.GetSafeHtmlFragment(html)方法,具体可以参照http://www.cnblogs.com/coderzh/archive/2010/06/24/1764725.html
也可以自定义方法。
public static HtmlString SafrHtml(this HtmlHelper helper, string str) //保留br、p、em、span、style不被过滤(相当于白名单功能)。
{
var filterString = str == null ? "" : str.Trim();
if (string.IsNullOrWhiteSpace(filterString))
return null;
var regex = new Regex(@"<(?!br|/?p|style|/?span)[^>]*>");
filterString = regex.Replace(filterString, "");
return new HtmlString(filterString);
}
View调用
监视结果