错误:未定义的索引:HTTP_X_FORWARDED_FOR

时间:2013-04-23 11:54:02

标签: linux cakephp

我写了这段代码

    $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 

1 个答案:

答案 0 :(得分:3)

只是不使用数组键而不确定它们是否始终存在.. 基本的PHP一个人

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

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

$result = env('HTTP_X_FORWARDED_FOR');