过滤输入的最佳位置?

时间:2012-04-05 17:41:01

标签: php

我想知道过滤用户提交的输入的最佳位置在哪里。关于过滤器,我说的是filter_varfilter_input

我提出了三种情况:

  1. 从POST / GET过滤数据,并将过滤数据传递给按原样运行的函数。
  2. 从POST / GET获取原始数据,并按原样传递给函数过滤它的函数。
  3. 从POST / GET过滤数据,并在函数中第二次过滤。
  4. 这些方法中的每一种都有其优点和缺点。我正在寻找一些可能是最佳或标准实践的见解。

    方法1将已清理的数据传递给函数,因此函数可以更小而不必清理所有进入的内容。如果调用任何其他位置并且数据未被清理,则可能会导致问题。这只需要良好的编码实践,以便在传递给函数之前记住清理所有内容。

    方法2你永远不必担心你的函数处理未经过处理的数据,但函数会更大。

    方法3是最安全的,但是浪费。编写了更多的代码,并且在通过可能的各种功能时可能会多次清理数据,浪费CPU资源和时间。

4 个答案:

答案 0 :(得分:3)

我认为您的每个方法都是有效的,只要您make wrong code look wrong

答案 1 :(得分:0)

正如你所说,最好的方法是在使用之前通过get或post过滤从输入发送的数据

答案 2 :(得分:0)

我认为最好的选择是使用函数过滤它们,以便您可以重复使用代码。 为此创建一个类并且快乐;)

答案 3 :(得分:0)

从上述场景,1& 2 适用于良好实践。虽然数字3不需要过滤输入数据两次,因为它说它浪费资源。

因此,方案1或2;这取决于你正在处理什么情况。