过滤掉ASP Web API模型中的任何XSS代码
本文关键字:任何 XSS 代码 模型 ASP Web API 过滤 | 更新日期: 2023-09-27 18:06:08
我有一个相当复杂的asp.net web API,我想通过传递到web API的任何字符串进行全局过滤,并过滤掉任何XSS代码。
我打算使用https://www.nuget.org/packages/AntiXss/
HtmlSantizationLibrary.Sanitizer.GetSafeHtmlFragment(someHtmlString);
所以我最关心的是想出一个全局解决方案在这里。我不想手动调用 GetSafeHtmlFragment()到处单独,但应用它全局所有传入字符串!
我已经研究了 modelbinder ,但可以找到一个很好的解决方案。任何建议吗?
好的。我试着提出一个解决方案/出发点。
首先你需要知道如何注册你的过滤器。我的假设是,您希望检查每个请求:
GlobalConfiguration.Configuration.Filters.Add(new AntiXssFilter());
现在,您必须创建一个检查请求的过滤器。我不知道你有什么样的数据,但这应该是一个起点:
public class AntiXssFilter: FilterAttribute, IActionFilter
{
void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
{
var request = filterContext.HttpContext.Request;
// check your request for any xss violations.
// e.g. request.InputStream
}
}