2

我已经实现了自定义ActionFilterAttribute来创建自定义 Web 访问日志,并尝试使用我收到此错误OnActionExecuted来访问ActionExecutedContext.HttpContext.Request.Form集合:Request.Form.GetValues("key")

从客户端检测到潜在危险的 Request.Form 值(Aplications[0].Name="...."

因为在我提交的表单输入中包含 HTML 代码。

我不想禁用某些 .net MVC 集成安全性validateRequest="false",而且我无法设置我的所有输入或操作[AllowHtml],或者ValidateInput(false)因为我的操作过滤器捕获了我所有的控制器。

我找到了一个黑客解决方案,但没有其他选择?

using (var reader = new StreamReader(request.InputStream))
{
    var content = reader.ReadToEnd();
    var inputsNameValueCollection = HttpUtility.UrlDecode(content).Split('&');
    foreach (string input in inputsNameValueCollection)
    {
        var inputNameValue = input.Split('=');
        var inputName = nameValue[0];
        var inputValue = nameValue[1];
    }
}
4

0 回答 0