隐藏的表单元素的htmlentities

时间:2012-04-24 14:05:10

标签: html forms html-entities input-sanitization

这似乎是一个愚蠢的问题,但用户输入的消毒不断让我感到困惑,我希望一劳永逸地得到一个明确的答案。

所以情节

  1. 客户填写网络表单。
  2. PHP检查是否已正确填写必填字段,否则不会让客户继续填写。
  3. 如果是,则用户输入显示在屏幕上以供确认,而输入数据也存储为隐藏的表单元素。
  4. 然后客户确认输入,然后发送隐藏的元素以进行进一步处理。
  5. 使用直到最后一分钟才能转义数据的原则,这将如何应用于存储在第3点的隐藏元素中的数据。(显然此时我在屏幕上打印的数据已应用了htmlentities( )))

    我应该在隐藏元素上使用htmlentities,但这在技术上不是最后一个阶段,因为在第4部分之后我会再次使用变量,然后再将它们粘贴到数据库或电子邮件中。

    我完全清楚我可能会完全错误,所以任何想法都是非常受欢迎的。 ^ _ ^

1 个答案:

答案 0 :(得分:2)

如果您正在写出用户对页面的输入,则应始终将其转义。否则,没有什么可以阻止人们将javascript等添加到他们的输入中,或者尝试逃离隐藏的字段并将代码注入页面。所以,是的,也可以在隐藏的字段上使用htmlentities。仅仅因为用户无法看到它们并不会阻止人们将代码注入其中。