我写了这段代码
$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
答案 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');