现在我用:
<?php
$_POST = array_map(mysql_real_escape_string, $_POST);
$_GET = array_map(mysql_real_escape_string, $_GET);
$_COOKIE = array_map(mysql_real_escape_string, $_COOKIE);
$_REQUEST = array_map(mysql_real_escape_string, $_REQUEST);
但如果$ _POST有多个数组($ _POST ['s'] [1]),那么它不起作用。如何为每个阵列设置功能?
答案 0 :(得分:1)
<?php
function escape_recursive($item) {
return is_array($item) ?
array_map("escape_recursive", $item) :
mysql_real_escape_string($item);
}
$_POST = array_map("escape_recursive", $_POST);
// etc...
?>
但请参阅DampeS8N的评论 - 如果你这样做,你的安全性就会出错......
答案 1 :(得分:0)
您希望使用递归函数来解决您的问题:
function recursive_array_map($input){
if(is_array($input)){
return array_map('recursive_array_map',$input);
}
return array_map(mysql_real_escape_string, $input);
}
$_POST = recursive_array_map(mysql_real_escape_string, $_POST);
我刚才写了这个,所以不确定它是否确实有效;) 快点去吧!