gpt4 book ai didi

php - 清理 $_POST 变量

转载 作者:行者123 更新时间:2023-12-02 23:09:54 24 4
gpt4 key购买 nike

我正在尝试想出一种方法,可以使用单个函数轻松有效地清理所有 POST 和 GET 变量。这是函数本身:

//clean the user's input
function cleanInput($value, $link = '')
{
//if the variable is an array, recurse into it
if(is_array($value))
{
//for each element in the array...
foreach($value as $key => $val)
{
//...clean the content of each variable in the array
$value[$key] = cleanInput($val);
}

//return clean array
return $value;
}
else
{
return mysql_real_escape_string(strip_tags(trim($value)), $link);
}
}

这是调用它的代码:

//This stops SQL Injection in POST vars
foreach ($_POST as $key => $value)
{
$_POST[$key] = cleanInput($value, $link);
}

//This stops SQL Injection in GET vars
foreach ($_GET as $key => $value)
{
$_GET[$key] = cleanInput($value, $link);
}

对我来说,这似乎应该有效。但由于某种原因,它不会从表单中的某些复选框返回数组。他们总是显示空白。

我已经在没有上述功能的情况下测试了我的代码,它工作正常,我只是希望在那里增加一点安全性。

谢谢!

最佳答案

使用filter_input如果可能的话(php5 +)它使它更加干净,据我所知,您可以使用它来清理和验证您可能需要的所有内容。

您可以使用filter var array例如FILTER_SANITIZE_STRING过滤整个帖子数组的标志

filter_var_array($_POST, FILTER_SANITIZE_STRING) //just an example filter

w3schools filter reference 上有大量不同的过滤器选项可用。

关于php - 清理 $_POST 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1610582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com