我已经实现了自定义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];
}
}