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

发布于 2025-01-07 09:08:50 字数 216 浏览 0 评论 0原文

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

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

举个例子将不胜感激。

I think the title does cover the question, but i'll explain the question anyway.

Say I have a user that submits a comment, and in that comment he was allowed to use Markdown.
Now I want to parse the comment on the server for Markdown and transform the Markdown syntax into HTML, but strip out any html or other unwanted syntax and then save it in the DB. Where should I do this? Should I do this in the controller or during the validation of the model?

An example would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

桜花祭 2025-01-14 09:08:50

您通常会在控制器外部执行此操作,将其传递给类以清理数据。如果您只想清理传入的 HTML,您可以使用 antixss 库的 Sanitizer.GetSafeHtmlFragment()

如果您希望将规则显示给用户 pm 验证,那么您可以考虑在模型中实现 IValidateableObject,但我实际上仍然不会在这里进行过滤。

You would do this generally outside of the controller passing it off to a class to sanitize the data. If you just want to sanitize passed in HTML you can use the antixss library's Sanitizer.GetSafeHtmlFragment()

If you want the rules displayed to the user pm validation then you could consider implementing IValidateableObject in your model but I still wouldnt actually do the filtering here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文