javascript - 如何从提交的内容中删除恶意 HTML(XXS 等)?

标签 javascript html webforms web

我有一个包含多个输入字段的内容提交表单,所有这些字段在提交时都会直接输入到数据库中。当请求此内容时,它会被打印出来。

我意识到这是一个安全问题。

如何只去除恶意 HTML (XSS),同时仍然允许格式化标签(bi 等)?

最佳答案

@pst是正确的...您需要明确允许某些标签。但问题是输入可能无处不在,因此您需要使用像 HTML Tidy (link to Source Forge Project) 这样的库。把它放到一个你可以的地方DOMDocument::loadHTML清理后的文档。

您应该使用 HTML Tidy 来清理您的输入并使其进入投诉状态,这样您就可以明确地允许某些标签。在永久存储之前,应从已清理的内容中删除所有其他内容。 (注意:出于性能原因,不要将 BLOB 存储在您的数据库中,将它们存储在您的文件系统中并使用安全位置中的文件路径链接到它们 - 一个不在您的 Web 根目录中的位置)。

祝你好运。

关于javascript - 如何从提交的内容中删除恶意 HTML(XXS 等)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4766563/

相关文章:

javascript - ADAL JS 在调用 WebApi 时未附加用户 token

Javascript:在 JS 文件中加载外部 JS 文件

html - 如何用颜色填充 html 表格数据单元格?

javascript - 我在 FreeCodeCamp 上的这个 "Escape Sequences in Strings"挑战中的代码有什么问题?

javascript - ionic 如何以编程方式返回状态

javascript - 如何用充满 CSS 的 <div> 替换 &lt;input text box>?

asp.net - 开发速度 - Asp.net 与 Silverlight

asp.net - 将 jQuery 的 getJSON 方法与 ASP.NET Web 表单结合使用

c# - ASP.NET 单选按钮状态和返回键

javascript - 获取以数字开头的键的值