这个问题已经在这里有一个答案:
- 不要用htmlspecialchars和mysql_real_escape_string保持我的PHP代码从注射安全吗? 6个回答
我试图想出一个办法来有效轻松地清洁所有的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);
}
对我来说,这似乎像它应该工作。 但是,由于某种原因,它不会从一些复选框我有一个形式返回数组。 他们让出来的空白。
我测试过我的代码没有上述功能,它工作得很好,我只是想将一只股票的加入位在那里。
谢谢!