【问题标题】:Is it safe to use count() on unsanitized array? php [duplicate]在未清理的数组上使用 count() 是否安全? php [重复]
【发布时间】:2012-10-15 08:33:48
【问题描述】:

可能重复:
Can php variable hold harmfull code safely?

假设我有一个名为 $content 的数组。该数组包含有害数据。

执行以下操作是否安全?

$test = count($content);
echo $test;

count() 会以某种方式执行有害数据吗?

【问题讨论】:

  • 您认为数组中的“有害数据”是什么?
  • 任何类型的可能的代码、链接、html、sql注入等...
  • 数组不能包含SQL注入,你的代码可以。此外,您命名为有害的其他内容:代码、链接、html 并不是开箱即用的,这需要数据处理的上下文。在您的示例中,无论 $content 是什么,它都不会发挥任何作用。这将永远是安全的。但这并不能说明什么。
  • 是的,对不起,我是 stackoverflow 的新手,我认为这个问题已经结束,因为我选择了你的答案。我有这个额外的问题,特别是关于 count()
  • 不,你还没有明白你在问自己一个安全方面的错误问题。你不能开始询问你想使用的每个php函数和特性是否安全。

标签: php security


【解决方案1】:

据我所知,您必须 eval() 任何代码才能以您描述的方式实际执行。所以不,什么都不会被执行。

【讨论】:

    【解决方案2】:

    长话短说:不用担心。

    长话短说:

    Count 将返回一个 int,并且不应执行任何操作。它不是一个非常复杂的功能,所以我怀疑它甚至可能有这样的错误,但事实是

    1. 它不应该执行任何操作
    2. 如果是这样,这是一个错误。
    3. 据我所知,从来没有报道过。
    4. 因此没有真正的理由认为这是一种风险。
    5. 如果您仍然认为可以,您可以查看源代码以检查课程

    【讨论】:

    • 谢谢!!现在我有心了
    【解决方案3】:

    count 一个 PHP 未清理的数组是安全的。

    但不要在eval 中使用它,并在您的 SQL 语句中对其进行清理以防止 SQL 注入

    【讨论】:

      猜你喜欢
      • 2016-08-15
      • 1970-01-01
      • 2016-08-23
      • 2020-03-27
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 1970-01-01
      • 2023-04-03
      相关资源
      最近更新 更多