function array_multimap($func, &$array) { foreach ($array as &$val) { if (is_array($val)) { array_multimap($func, $val); } else { $val = $func($val); } } }
$_REQUEST = $_GET + $_POST + $_COOKIE; //检查并重设置$_SERVER[PHP_SELF],该变量在IIS6中FastCGI模式下运行的php中被误加PATH_INFO if ($_SERVER['PHP_SELF'] === $_SERVER['SCRIPT_NAME'] . $_SERVER['PATH_INFO']) { $_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME']; } //修复$_SERVER[PHP_SELF]为空的问题 if (empty($_SERVER['PHP_SELF'])) { $_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME']; } /*加载用于去除转义字符的函数*/ require_once FUNC_DIR . '/arrstr.php'; /*把GET,POST,COOKIE中引号被加上的反斜线去掉,并关闭在执行中的引号转义*/ if (!function_exists('set_magic_quotes_runtime')) { return; } if (get_magic_quotes_runtime()) { set_magic_quotes_runtime(0); } if (ini_get('magic_quotes_sybase')) { define('STRIP_QUOTES_FUNC', 'strip2quote'); } elseif (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) { define('STRIP_QUOTES_FUNC', 'stripslashes'); } else { return; } array_multimap(STRIP_QUOTES_FUNC, $_GET); array_multimap(STRIP_QUOTES_FUNC, $_POST); array_multimap(STRIP_QUOTES_FUNC, $_COOKIE); array_multimap(STRIP_QUOTES_FUNC, $_REQUEST); /*手册说$_FILES不会被转义,所以注释掉了 array_multimap(STRIP_QUOTES_FUNC,$_FILES);*/