PHP filter_require_array 失败
PHP filter_require_array is failing
我有一个 AJAX 文件,它可以获取一个数组作为 POST 变量。该数组如下所示:
array(
'NAME' => PRICE,
'NAME2' => PRICE2
)
例如,这是关于一种可能性的var_dump:(var_dump($_POST['additions'])
)
array(2) {
["vloer"]=>
string(5) "50.00"
["dak"]=>
string(5) "20.00"
}
要过滤数组,我使用以下行:
$additions = filter_input(INPUT_POST, 'additions', FILTER_REQUIRE_ARRAY);
令我震惊的是,由于某种原因,它 returns 是错误的。我也尝试了 filter_input_array
,但没有用。即使没有 FILTER_REQUIRE_ARRAY
它也不起作用。
感谢@bxN5 ():
改变
$additions = filter_input(INPUT_POST, 'additions', FILTER_REQUIRE_ARRAY);
进入
$additions = filter_input(INPUT_POST, 'additions', FILTER_DEFAULT , FILTER_REQUIRE_ARRAY));
完成任务。
如果您要过滤浮点值(价格),我建议您将带有标志 FILTER_FLAG_ALLOW_FRACTION
的值过滤为 FILTER_DEFAULT == FILTER_UNSAFE_RAW
,这样您最终可能会在输入中出现不需要的注入。
$additions = filter_input(
INPUT_POST,
'additions',
FILTER_SANITIZE_NUMBER_FLOAT,
FILTER_REQUIRE_ARRAY + FILTER_FLAG_ALLOW_FRACTION
);
为了便于阅读,我将参数分成几行:)
我有一个 AJAX 文件,它可以获取一个数组作为 POST 变量。该数组如下所示:
array(
'NAME' => PRICE,
'NAME2' => PRICE2
)
例如,这是关于一种可能性的var_dump:(var_dump($_POST['additions'])
)
array(2) {
["vloer"]=>
string(5) "50.00"
["dak"]=>
string(5) "20.00"
}
要过滤数组,我使用以下行:
$additions = filter_input(INPUT_POST, 'additions', FILTER_REQUIRE_ARRAY);
令我震惊的是,由于某种原因,它 returns 是错误的。我也尝试了 filter_input_array
,但没有用。即使没有 FILTER_REQUIRE_ARRAY
它也不起作用。
感谢@bxN5 (
改变
$additions = filter_input(INPUT_POST, 'additions', FILTER_REQUIRE_ARRAY);
进入
$additions = filter_input(INPUT_POST, 'additions', FILTER_DEFAULT , FILTER_REQUIRE_ARRAY));
完成任务。
如果您要过滤浮点值(价格),我建议您将带有标志 FILTER_FLAG_ALLOW_FRACTION
的值过滤为 FILTER_DEFAULT == FILTER_UNSAFE_RAW
,这样您最终可能会在输入中出现不需要的注入。
$additions = filter_input(
INPUT_POST,
'additions',
FILTER_SANITIZE_NUMBER_FLOAT,
FILTER_REQUIRE_ARRAY + FILTER_FLAG_ALLOW_FRACTION
);
为了便于阅读,我将参数分成几行:)