如何保护用户提交的HTML标记?

时间:2013-06-07 22:02:00

标签: html security

在开始之前,我想说我在这里已经阅读了类似的问题,但我认为它并没有真正回答这个问题:Show HTML user input, security issueSecurity risks from user-submitted HTML

我认为这些问题很好地突出了问题,但我基本上就这些情况下的最佳实践提出建议。

我已经编程了一段时间,现在我想要网站管理员提交HTML标记以在他们自己的网站上显示他们想要的内容。

在数据库中保护此内容很好,但现在我想安全地在网站上显示它。

即使此功能仅供网站管理员使用,我仍然希望防止恶意脚本注入,并尝试使用不良的HTML阻止他们破坏页面。

现实是我无法安全地防止脚本注入,因为上面的线程似乎指出了什么?

我是否会使用这样的心态:如果他们破坏了网站,那么这取决于他们,还是我可以在更新内容时使用某种标记验证器?

3 个答案:

答案 0 :(得分:1)

您如何看待markdown

这是一种提交html的安全方式,并且拥有大多数流行语言的库。

答案 1 :(得分:0)

你是对的,如果你允许提交纯HTML - 没有办法阻止所有可能的注入。即使您在所有可能的组合中禁用<script>标记(并且有很多),也可以使用其他方式,例如可用于运行恶意代码的onfocus onmouseover个事件。

答案 2 :(得分:0)

我会建议HTMLPurifier,它肯定是最好的解决方案。谷歌吧!