这似乎是一个愚蠢的问题,但用户输入的消毒不断让我感到困惑,我希望一劳永逸地得到一个明确的答案。
所以情节
使用直到最后一分钟才能转义数据的原则,这将如何应用于存储在第3点的隐藏元素中的数据。(显然此时我在屏幕上打印的数据已应用了htmlentities( )))
我应该在隐藏元素上使用htmlentities,但这在技术上不是最后一个阶段,因为在第4部分之后我会再次使用变量,然后再将它们粘贴到数据库或电子邮件中。
我完全清楚我可能会完全错误,所以任何想法都是非常受欢迎的。 ^ _ ^
答案 0 :(得分:2)
如果您正在写出用户对页面的输入,则应始终将其转义。否则,没有什么可以阻止人们将javascript等添加到他们的输入中,或者尝试逃离隐藏的字段并将代码注入页面。所以,是的,也可以在隐藏的字段上使用htmlentities。仅仅因为用户无法看到它们并不会阻止人们将代码注入其中。