ASP.NET避免跨站脚本攻击(XSS)
可以采⽤微软的AntiXSS,最新版本是4.2.1
下载地址:
原来的代码是:
string safeHtml = AntiXss.GetSafeHtmlFragment(html);
Console.WriteLine(safeHtml);
但现在,你会发现会提⽰:
Microsoft.Security.Application.Antixss已过时,
This class has been deprecated. Please use Microsoft.Security.Application.Encoder instead.
4.0以后的版本,已经将AntiXss中的HtmlSanitizationLibrary独⽴出来,使⽤时需要引⽤HtmlSanitizationLibrary.dll,using Microsoft.Security.Application;
string safeHtml = Sanitizer.GetSafeHtmlFragment(html);
GetSafeHtml ⽅法:过滤完整的HTML页⾯。
GetSafeHtmlFragment ⽅法:将传⼊的HTML 视为⼀个HTML ⽚段进⾏过滤。
asp脚本的应用教案
存在的问题:
AntiXSS会替换除<p><span>等之外的所有HTML标记,⽆法实现仅过滤script等标记。
如果采⽤正则表达式来过滤,内容较多时效率较低。⿊名单⽅式的过滤很容易有漏⽹之鱼,还是采⽤⽩名单⽅式更安全些!更多XSS⽅⾯的内容,可以阅读:
⼀篇清理HTML的⽂章也很值得参考:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。