我对字符编码感到困惑。与html编码混淆
我知道人们以不同的方式做事,但许多人建议您在输入数据库时将输入存储在数据库中,然后在阅读时根据您打算使用的内容进行处理。这对我有意义。
因此,如果用户输入一个单引号,双引号或符号,小于,大于号,这些将在我的数据库写为'“分别& <>。
现在,读数据php,我通过HTMLPurify运行文本,以捕捉任何注入问题。
我还应该htmlencode吗?如果我不这样做,一切似乎都没问题(在Chrome和Firefox中),但我不确定这是否正确并将它在其他浏览器中正确显示?
如果我使用htmlentities与E NT_QUOTES和htmlspecialchars,我开始得到这些字符的代码,我相信这是我应该看到的,如果看看页面源,但不是在用户看到的页面上。
问题是,没有做编码,我看到了我想看到的东西,但是在我的脑海里有这样的小窍门,我没有正确地做它!
这可能会被标记为脱离主题,因为它完全基于意见。您可能想要用代码示例来更改具体的问题。 – Difster
将用户输入存储为“原样”,但在输出之前对其进行消毒(例如,如果要防止XSS)。你不需要HTML编码任何东西。 – Terry
将数据作为实际数据 - 即,如果它是通过HTML,将其忽略。然后其他应用程序可以使用它。 –