REMOTE_ADDR,我平时就是用它来收集用户的ip地址啊,怎么有问题么?

解决方案 »

  1.   

    若用户使用了proxy,我要得到他的真实ip;
      

  2.   

    用了代理之后不可能得到真实的ip吗??—————————————————————————————————
    ┏━★━━◆━━★━┓ 
    ♂欢|◢CSDN◣|使♂        ▲自由保存帖子,浏览,关注检测
    ┃迎|◥论坛助手◤|用┃        ▲完善的CSDN客户端工具
    ┗━☆━━◇━━━☆┛       ▲自动添加签名......让你更快,更爽,更方便地上CSDN...
    http://www.csdn.net/expert/topic/573/573604.xml
    http://www.chinaok.net/csdn/csdn.zip
      

  3.   

    使用了Proxy后,你得到的将是代理服务器的IP,真实的IP你是得不到的!
    ok?
      

  4.   

    http://expert.csdn.net/Expert/topic/1145/1145427.xml?temp=.3985407
    请诸位看看帖子;
    回复人: anziqi(美洲狮) ( ) 信誉:105  2002-11-4 14:48:24  得分:10 <?//补充一下,有时候$REMOTE_ADDR;并不一定是你真是的ip
    //用HTTP_X_FORWARDED_FOR更真实一些
    if (getenv(HTTP_X_FORWARDED_FOR)) {
    $ip = getenv('HTTP_X_FORWARD_FOR');
    $host = gethostbyaddr($ip);
    } else {
    $ip = getenv('REMOTE_ADDR');
    $host = gethostbyaddr($ip);
    }?>
      

  5.   

    <?
    $rcip=getenv("HTTP_X_FORWARDED_FOR"); 
    $cip=getenv("REMOTE_ADDR"); 
    if ($rcip != "") {
        echo "您使用了代理,您的真实IP是:";
        echo $rcip;
    } else {
        echo "您的IP是:";
        echo $cip;
    }
    ?>
      

  6.   

    <?
    $rcip=getenv("HTTP_X_FORWARDED_FOR"); 
    $cip=getenv("REMOTE_ADDR"); 
    if (getenv("HTTP_X_FORWARDED_FOR")==""){
    echo "您使用了代理,您的真实IP是:";
    echo $rcip;
    } else {
    echo "您的IP是:";
    echo $cip;
    }
    ?>呵呵一个逻辑上的错误。
    你在if (getenv("HTTP_X_FORWARDED_FOR")=="")这句判断了一下他为空运行下一句是吧。又因为$rcip=getenv("HTTP_X_FORWARDED_FOR"); 等于空了。
    所以你显示的时候如果有东东那才见鬼哪。
    呵呵自己看看。太粗心了。
      

  7.   

    代码给你:
    <?
    $rcip=getenv("HTTP_X_FORWARDED_FOR"); 
    $cip=getenv("REMOTE_ADDR"); 
    if (getenv("HTTP_X_FORWARDED_FOR")==""){
    echo "您使用了代理,您的真实IP是:";
    echo $cip;
    } else {
    echo "您的IP是:";
    echo $rcip;
    }
    ?>
    你是不是这个意思。
      

  8.   

    谢谢anziqi(美洲狮) !
    以下是我调试成功的代码:)<%
    $rcip=getenv("HTTP_X_FORWARDED_FOR"); 
    $cip=getenv("REMOTE_ADDR"); 
    if (getenv("HTTP_X_FORWARDED_FOR")==""){
    echo "您的IP是:";
    echo $cip;
    } else {
    echo "您使用了代理,您的真实IP是:";
    echo $rcip;
    echo "<br/>";
    echo "您的代理服务器IP是:";
    echo $cip;
    }
    %>