我正在将一个文本块从视图发布到控制器以用于消息系统。
有没有办法在它到达Controller之前捕获它,以某种方式修改它(比如删除任何不需要的东西,如HTML元素),然后让Controller接收它? / p>
目的是在不必修改验证设置的情况下停止A potentially dangerous Request.Form value was detected
。
编辑:我正在尝试找到一个不涉及任何Ajax或客户端修改的解决方案 - 我希望它是防弹的,而不是依赖于启用了JS的人。< / p>
答案 0 :(得分:0)
A potentially dangerous Request.Form value was detected
消息的目的不是允许在代码中进行危险的注入。
您可以在保存之前允许所有HTML或拒绝危险注入或编码值。
如果您选择允许所有HTML使用[AllowHtml]
帮助
- 或 -
如果您想防止使用危险脚本,
[ValidateInput(true)]
[HttpPost]
public ActionResult SomeAction(FormCollection collection)
{
}
- 或 -
使用自定义属性使用Server.HtmlEncode方法对所有值进行编码
Ex:Server.HtmlEncode("<script>unsafe</script>");
在保存之前。