• 2933阅读
  • 3回复

如何得到客户端 真实IP ? [复制链接]

上一主题 下一主题
离线cai
 

只看楼主 倒序阅读 0楼 发表于: 2005-03-30
//返回客户端ip
function get_ip() {
     if (isset($_SERVER)) {
           if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) {
                 $realip = $_SERVER[HTTP_X_FORWARDED_FOR];
           } elseif (isset($_SERVER[HTTP_CLIENT_IP])) {
                 $realip = $_SERVER[HTTP_CLIENT_IP];
           } else {
                 $realip = $_SERVER[REMOTE_ADDR];
           }
     } else {
           if (getenv("HTTP_X_FORWARDED_FOR")) {
                 $realip = getenv( "HTTP_X_FORWARDED_FOR");
           } elseif (getenv("HTTP_CLIENT_IP")) {
                 $realip = getenv("HTTP_CLIENT_IP");
           } else {
                 $realip = getenv("REMOTE_ADDR");
           }
     }
     return $realip;
}

调用如下: 
echo get_ip();
grant all privileges on *.* to 'a'@'localhost' identified by 'a' with grant option;flush privileges;
离线faoc
只看该作者 1楼 发表于: 2005-03-30
这句和你上面这些有什么不同吗?
getenv("REMOTE_ADDR")
FLASH游戏开发,网站建设。
离线cai

只看该作者 2楼 发表于: 2005-03-30
解释
getenv("REMOTE_ADDR")
有时候会由于WEB服务器管理员的设定而取特定的值,
这样你就不能得到访问者的真实IP.

所以对几种情况综合判断会比较好!
grant all privileges on *.* to 'a'@'localhost' identified by 'a' with grant option;flush privileges;
离线faoc
只看该作者 3楼 发表于: 2005-03-31
明白了,谢谢
FLASH游戏开发,网站建设。
快速回复
限100 字节
 
上一个 下一个