【问题标题】:Building a Wikipedia on ASP.NET(learning exercise). How to clean untrusted data, but keep formatting?在 ASP.NET 上构建维基百科(学习练习)。如何清理不受信任的数据,但保持格式化?
【发布时间】:2026-01-13 09:50:01
【问题描述】:

我想让最终用户能够将 HTML 保存到我的后端商店。由于此功能很容易导致 SQL 注入和许多其他问题,有没有人知道服务器端库会清理输入以便只能使用 HTML 的“安全”部分?

我想避免的一些事情:

  • 对象标签使用
  • JavaScript 使用
  • Windows“风格”弹出框(例如您的 PC 感染了病毒)
  • 带有 Javascript 操作的 CSS
  • 来自外部网站的内嵌数据

由于 100% 保证我没有想出所有可能让用户对此功能产生恶意的方法,我想了解我必须使用哪些选项来清理数据,但保留基本格式

【问题讨论】:

标签: asp.net web-services security wiki sql-injection


【解决方案1】:

考虑使用 Microsoft AntiXSS 库清理用户输入。

【讨论】:

  • +1。我为此找到的最好的免费工具。 GetSafeHtmlFragment() 函数太棒了!