html - 允许用户输入 HTML - 这明智吗?

标签 html validation code-injection

我的网站允许人们(任何拥有免费帐户的人)输入文本。到目前为止,我一直在删除 HTML 标签等,以确保它们不能输入任何恶意内容。然而现在,客户询问是否可以允许用户输入html。

这背后的想法是,一些用户可能希望添加更复杂的东西,例如表单。他们输入的任何内容稍后都会显示在另一个页面上 - 因此他们可能需要一个其他人可以填写和提交的表单。

我的问题是,这样做有什么风险?显然我会转义字符以降低注入(inject)攻击的风险,但是我还需要注意什么?

或者这是否太危险以至于我根本不应该这样做?

最佳答案

存在很多风险 - XSS是最有名的。

如果转义字符,则不会显示 HTML(例如,您将看到 <a href="http://example.com">link</a> 而不是链接)。

允许 HTML 成为一种安全的方式非常困难。

考虑使用 StackOverflow 上使用的 Markdown 编辑器之类的东西 - wmd-new .

关于html - 允许用户输入 HTML - 这明智吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8823917/

相关文章:

ruby-on-rails - 覆盖SecurePassword的验证错误消息

javascript - 键入时验证文本字段

java - 是否可以在注释处理之前向类注入(inject)额外的注释?

php - Zendframework——mysql注入(inject)如何防护

javascript - 使用 len 和 setter 续写密码验证失败

安卓安全 : Google Play warning: Your app contains a SQL Injection issue

java - 遍历 Swing DOM 的最佳方法是什么?

javascript - ag-Grid如何给元素添加css

javascript - 使用 CSS 在 HTML 中创建网格的最有效方法?

css - 我可以使用什么 CSS 来缩放 Canvas 以填充其容器而不改变其纵横比?