"Undefined variable: _ in magic_quotes_gpc.php on line 43"
납니다
: 나는 모든 값을 게시 에코 사용 if (is_array($$_VAR[$k]))
이 아니라 하나의 1 _
입니다 :"정의되지 않은 변수 : _"오류
<?php
$HTTP_VARs = array(
'HTTP_GET_VARS' => '_GET',
'HTTP_POST_VARS' => '_POST',
'HTTP_COOKIE_VARS' => '_COOKIE',
'HTTP_SERVER_VARS' => '!_SERVER',
'HTTP_ENV_VARS' => '!_ENV',
'HTTP_POST_FILES' => '!_FILES'
);
if (!isset($HTTP_GET_VARS) && isset($_GET)) {
foreach ($HTTP_VARs as $HTTP_VAR => $_VAR) {
$_VAR = ($_VAR[0] == '!' ? str_replace('!', '', $_VAR) : $_VAR);
if (isset($$_VAR))
$$HTTP_VAR = $$_VAR;
}
}
function strip_magic_quotes($array)
{
foreach ($array as $key => $value)
$array[$key] = (is_array($value) ? strip_magic_quotes($value) : stripslashes($value));
return $array;
}
foreach ($HTTP_VARs as $HTTP_VAR => $_VAR) {
if ($_VAR[0] != '!') {
if (get_magic_quotes_gpc()) {
if (!empty($$_VAR))
$$_VAR = strip_magic_quotes($$_VAR);
} else {
if (is_array($$_VAR)) {
foreach ($$_VAR as $k => $v) {
if (is_array($$_VAR[$k])) {
foreach ($$_VAR[$k] as $k2 => $v2)
$$_VAR[$k][$k2] = addslashes($v2);
@reset($$_VAR[$k]);
} else
$$_VAR[$k] = addslashes($v);
}
@reset($$_VAR);
}
}
}
}
?>
라인 (43)이있다 .
나는이 변수 _
이 어디에서 왔는지를 보았지만 아무런 생각이 들지 않았습니다. 저는 당황합니다.
가변 변수를 사용하지 마십시오. – NullUserException
매뉴얼에서 더 나은 테스트 코드가 있습니다. http://php.net/manual/en/security.magicquotes.disabling.php (왜 스크립트가 제거와 addslashes 사이에서 번갈아 나오는 이유는 명확하지 않지만) – mario
http : // derickrethans @를 사용하지 마십시오. nl/five-reasons-why-shutop-operator-should-be-avoided.html – malletjo