在ASP.NET MVC3中处理/清除数据库输入的位置

本文关键字:数据库 清除 输入 位置 处理 ASP NET MVC3 | 更新日期: 2023-09-27 18:25:08

我认为标题确实涵盖了这个问题,但无论如何我都会解释这个问题。

假设我有一个用户提交了一条评论,在该评论中,他被允许使用Markdown。现在,我想为Markdown解析服务器上的注释,并将Markdown语法转换为HTML,但去掉任何HTML或其他不需要的语法,然后将其保存在DB中。我该在哪里做?我应该在控制器中还是在模型验证期间这样做?

举个例子就好了。

在ASP.NET MVC3中处理/清除数据库输入的位置

您通常会在控制器之外将其传递给一个类以净化数据。如果你只想对传入的HTML进行消毒,你可以使用antixss库的Sanitizer.GetSafeHtmlFragment()

如果你想向用户显示规则pm验证,那么你可以考虑在你的模型中实现IValidateableObject,但我仍然不会在这里进行过滤。