asp.net – 如何使用AntiXss Library正确清理内容?
发布时间:2020-12-15 20:58:01 所属栏目: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-mvc – AspNet上的Kestrel vNext不提供索引页/
- 我是否需要在asp.net中取消订阅(手动订阅)活动?
- asp.net-mvc – Telerik MVC Grid,从自定义命令删除ajax后重
- asp.net – 实现数据库对象的版本控制
- asp.net – File.Exists从网络共享返回false
- webmatrix – ASP.NET页面中的_PageStart.cshtml与_AppStar
- asp.net – 为什么aspnet_compiler.exe这么慢(可以做得更快
- ASP.net 2.0版是什么意思?
- asp.net – 什么时候不应该使用Web服务?
- 如何在ASP.Net项目中包含jQuery?
推荐文章
站长推荐
- Linq与ASP.NET MVC 3中的MySQL数据库,将DateTime
- asp.net-mvc-5 – EntityFramework.SqlServer.dl
- ASP.NET,C#,IIS,MIME类型,文件上传条件
- asp.net-mvc – 具有区域的Url.Action()返回空字
- Asp.NET DropDownList在PostBack之后重置Selecte
- asp.net – 在Entity Framework 5中重命名导航属
- asp.net – 如何设置访问控制允许源于特定文件we
- asp.net-mvc-3 – 如何将复选框绑定到mvc3中的vi
- asp.net-mvc – 覆盖控制器AuthorizeAttribute只
- asp.net-mvc – 模拟任务>与NSubstitute
热点阅读