0

我写了这段代码

    $ips = preg_split("/,/", $_SERVER["HTTP_X_FORWARDED_FOR"]);
    $ip = $ips[0];
    if ($key === $ip && $val === env('SERVER_ADDR')) {
        $addr = env($ip);
        if ($addr !== null) {
            $val = $addr;
        }
    }

但我收到以下错误:

<b>Notice</b>:  Undefined index: HTTP_X_FORWARDED_FOR 
4

1 回答 1

3

只是不要在不知道它们总是存在的情况下使用数组键..基本的 PHP 一对一

if (!empty($_SERVER["HTTP_X_FORWARDED_FOR"])) {
    // now only try to access this key
}

Cake 中的替代方法是使用旨在自动检查内部存在的包装器方法。然后您可以直接读取该值。在您的情况下 env() 检查这些服务器变量:

$result = env('HTTP_X_FORWARDED_FOR');
于 2013-04-23T12:03:15.037 回答