【发布时间】:2016-11-19 12:05:27
【问题描述】:
我正在开发一个用于地理位置的 wordpress 插件。
这是我好奇的问题。为什么 HTTP_CLIENT_IP 没有显示任何内容? REMOTE_ADDR 显示我的 ip。
<?php
$ip = $_SERVER['HTTP_CLIENT_IP'];
echo $ip;
?>
【问题讨论】:
我正在开发一个用于地理位置的 wordpress 插件。
这是我好奇的问题。为什么 HTTP_CLIENT_IP 没有显示任何内容? REMOTE_ADDR 显示我的 ip。
<?php
$ip = $_SERVER['HTTP_CLIENT_IP'];
echo $ip;
?>
【问题讨论】:
HTTP_CLIENT_IP 是来自共享互联网的 ip
但REMOTE_ADDR 是当前IP
PHP 上的示例函数:
function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
【讨论】:
$_SERVER['REMOTE_ADDR']?在哪些情况下有人会使用另外两个?