asp.net – 如何使用AntiXss Library正确清理内容?
发布时间:2020-05-22 12:27:55 所属栏目:asp.Net 来源:互联网
导读:我有一个简单的论坛应用程序,当有人发布任何内容时,我这样做: post.Content = Sanitizer.GetSafeHtml(post.Content); 现在,我不确定我做错了什么,或者发生了什么,但它几乎不允许任何HTML.即使是简单的 b / b太过分了.所以我想这个工具完全没用. 现在我的问题
|
我有一个简单的论坛应用程序,当有人发布任何内容时,我这样做: post.Content = Sanitizer.GetSafeHtml(post.Content); 现在,我不确定我做错了什么,或者发生了什么,但它几乎不允许任何HTML.即使是简单的< b>< / b>太过分了.所以我想这个工具完全没用. 现在我的问题是:任何人都可以告诉我应该如何消毒我的用户输入,以便他们可以发布一些图像(< img>标签)并使用大胆的重点等? 解决方法似乎许多人找到了消毒杀菌剂 rather useless.而不是使用消毒剂,只需编码所有东西,然后解码安全部件:private static readonly Tuple<string,string>[] WhiteList = (new string[]
{
"<b>","</b>","<i>","</i>"
})
.Select(tag => Tuple.Create(AntiXss.Encoder.HtmlEncode(tag),tag))
.ToArray();
public static string Sanitize(string html)
{
var safeHtml = new StringBuilder(AntiXss.Encoder.HtmlEncode(html));
for (int index = 0; index < WhiteList.Length; index++)
{
string encodedTag = WhiteList[index].Item1;
string decodedTag = WhiteList[index].Item2;
safeHtml.Replace(encodedTag,decodedTag);
}
return safeHtml.ToString();
}
请注意,安全解码IMG标记几乎是不可能的,因为攻击者可以通过简单的方法滥用此标记.例子: <IMG SRC="javascript:alert('XSS');">
<IMG SRC=javascript:alert('XSS')>
看看这里更全面的XSS Cheat Sheet (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net – 使用OLEDB读取CSV文件,即使连接字符串
- asp.net-mvc – ASP.net MVC数据注释DateTime默认
- asp.net – 更改事件和IE8的jQuery问题
- asp.net-mvc – MVC 3 – Razor – 从模型打印值
- asp.net – IIS表达请求的执行时间要长4倍
- asp.net-mvc – ASP.Net MVC异常记录与错误处理相
- asp.net-mvc – ASP .Net MVC 3:子动作和重定向
- asp.net-mvc – 如何在MVC 3中基于XML文件动态创
- asp.net – N层和SOA架构有什么区别?
- 有没有办法为ASP.Net Web应用程序安装程序创建补
热点阅读
