MySQL的HTML清理

问题描述:

我有一个网站,将数据保存到MySQL数据库MySQL的HTML清理

我应该在将其插入到MySQL或在我的网站上显示它逃脱HTML?

理想情况下,我想原始输入HTML到我的数据库,每次我撤出它的时候正好消毒。这样做有没有危险?

HTML示例:<h1>test</h1>

+0

逃生HTML为了什么?如果你有'Click me'并且你操纵它,你可能会破坏它。如果你有'的Barnes&Noble',需要将其转换为'巴恩斯& Noble'到一个网站上,那是因为你没有在第一时间HTML显示。这(“sanitizacion”这个词是我的宠物之一,它暗示某些琴弦本质上是坏的,但是你可以对它们施加一些魔法功能,并且为了任何目的使它们安全)。 –

+0

@ÁlvaroGonzález我更新了上面的答案,通常是用户不会保存HTML,但我不希望它们受到限制。当然,HTML不会被执行。它只会显示为是 –

+0

你的意思是你想看到页面上的实际的HTML标签(文字上的'

测试

'文本),而不是用大字体看到用'test'一个标题? –

通常用户不会保存HTML,但我不希望他们 限制。当然,HTML不会被执行。这将只是 显示

我应该在将其插入到MySQL或在我的网站上显示它逃脱HTML?

那么你不必HTML开始。你有纯文本。

摆脱纯文本HTML被注入是一个快速运行,除非我们谈论的1个GB值得单行文本的,它没有任何意义缓存它。如果您在保存之前转换为纯文本到HTML,你不再有原来的文字和你不得不撤消编码只是 HTML中的上下文使用它(例如,把它放在一个JavaScript变量或用它作为电子邮件主题)。