我的网站允许人们(任何拥有免费帐户的人)输入文本。到目前为止,我一直在删除 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/