当我将$_POST信息存储在数据库中并稍后查询并将此信息打印给用户时,我应该在插入此信息之前或在查询输出之前使用htmlspecialchars()吗?
另外,我需要让用户能够使用引号和其他日常特殊字符。我知道我可以使用标志ENT_NOQUOTES,但如果这样做,会留下安全漏洞。
我的网站允许使用Bbcode,我希望用户能够使用日常字符而无需看到“amp;lt;<?>&”等内容。
鼓励对我有耐心的新手!谢谢 :D
当我将$_POST信息存储在数据库中并稍后查询并将此信息打印给用户时,我应该在插入此信息之前或在查询输出之前使用htmlspecialchars()吗?
另外,我需要让用户能够使用引号和其他日常特殊字符。我知道我可以使用标志ENT_NOQUOTES,但如果这样做,会留下安全漏洞。
我的网站允许使用Bbcode,我希望用户能够使用日常字符而无需看到“amp;lt;<?>&”等内容。
鼓励对我有耐心的新手!谢谢 :D
在插入数据之前,将目标代码转义。即在输出之前。
这意味着您将保留数据的原始形式用于其他目的(例如向用户输出以进行编辑,包括在电子邮件中,生成PDF,搜索等)
此外,我需要用户能够使用引号和其他日常特殊字符的功能。 我知道可以使用ENT_NOQUOTES标志,但如果这样做,会留下安全漏洞。
htmlspecialchars()
将把输入数据中的引号转换为HTML。因此,您不需要做任何特殊处理。
我的网站允许Bbcode
那么您需要一个合适的BBCode解析器。
htmlspecialchars()
用于输出前避免XSS攻击。数据库最好保存用户的原始输入。