0

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

所以这是场景

  1. 客户填写网络表格。
  2. PHP 检查必填字段是否已正确填写,如果没有填写,则不会让客户继续填写。
  3. 如果是这样,则用户输入将显示在屏幕上以供确认,同时输入数据也存储为隐藏的表单元素。
  4. 然后客户确认输入,然后将隐藏的元素发送给进一步处理。

使用直到最后一分钟才应转义数据的原则,这将如何应用于存储在第 3 点的隐藏元素中的数据。(显然,此时打印在屏幕上的数据我也应用了 htmlentities())

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

我完全意识到我可能做错了,所以任何想法都是非常受欢迎的。^_^

4

1 回答 1

2

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

于 2012-04-24T14:13:20.520 回答