asp.net – 如何使用AntiXss Library正确清理内容?
发布时间:2020-09-01 09:48: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 (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET中的超链接控件和链接控件有什么区别?
- asp.net-mvc-2 – 如何在ASP.NET MVC2中为Html.LabelFor()添
- asp.net核心 – 如何排除在ASP.NET Core中发布文件?
- asp.net-mvc – LabelFor和TextBoxFor不生成相同的id
- asp.net – ASP:ItemTemplate中的DropDownList:为什么允许
- 如何处理在MVC视图中应用程序启动和传输和显示错误发生的AS
- ASP.NET 根据汉字获取汉字拼音的首字母(含多音字)
- asp.net – __doPostBack在DotNetNuke网站上未定义为IE 10
- asp.net删除文件session丢失
- 有没有办法将内部控件放在ASP.NET自定义控件中?
推荐文章
站长推荐
- asp.net – 适用于多个用户的EWS通知中心
- asp.net – 我可以愚弄HttpRequest.Current.Requ
- asp.net – 多个域的集成Windows身份验证
- asp.net-mvc – SSL握手问题? (当时:网页挂起,
- asp.net-mvc – MVC应用程序调试错误:viewstate
- asp.net-mvc – ASP.NET MVC中的Windows Live ID
- ASP.NET 程序中删除文件夹导致session失效问题的
- asp.net ajax实现无刷新验证码
- asp.net-mvc – 在ClaimsIdentity上,BootstrapCo
- 从app_data中删除文件夹时如何防止asp.net重新编
热点阅读