我在使用PHP做用户登录时输错密码10次就禁止该客户端IP登录的功能。
如何获取客户端IP地址(不变的、每台计算机在网络上唯一的地址)?

解决方案 »

  1.   

    <?
    //php获取ip的算法
    $iipp=$_SERVER["REMOTE_ADDR"];
    echo $iipp;
    ?>
    PHP Code two:
    <?php
    //php获取ip的算法
    $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
    $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];echo $user_IP;
    ?>///////////////////////////////////////////////<?
    function get_real_ip(){
    $ip=false;
    if(!empty($_SERVER["HTTP_CLIENT_IP"])){
    $ip = $_SERVER["HTTP_CLIENT_IP"];
    }
    if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
    for ($i = 0; $i < count($ips); $i++) {
    if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
    $ip = $ips[$i];
    break;
    }
    }
    }
    return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
    }echo get_real_ip();
    ?>
    PHP Code three:
    <?
    //php获取ip的算法
    if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
    {
    $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
    }
    elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
    {
    $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
    }
    elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
    {
    $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
    }
    elseif (getenv("HTTP_X_FORWARDED_FOR"))
    {
    $ip = getenv("HTTP_X_FORWARDED_FOR");
    }
    elseif (getenv("HTTP_CLIENT_IP"))
    {
    $ip = getenv("HTTP_CLIENT_IP");
    }
    elseif (getenv("REMOTE_ADDR"))
    {
    $ip = getenv("REMOTE_ADDR");
    }
    else
    {
    $ip = "Unknown";
    }
    echo "你的IP:".$ip ;
    ?>
    PHP Code four:
    <?
    //php获取ip的算法
    if(getenv('HTTP_CLIENT_IP')) {
    $onlineip = getenv('HTTP_CLIENT_IP');
    } elseif(getenv('HTTP_X_FORWARDED_FOR')) {
    $onlineip = getenv('HTTP_X_FORWARDED_FOR');
    } elseif(getenv('REMOTE_ADDR')) {
    $onlineip = getenv('REMOTE_ADDR');
    } else {
    $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
    }
    echo $onlineip;
    ?>  
      

  2.   

    我靠  好长啊   学PHP就这么难么
      

  3.   

    其实一句就行了$_SERVER['REMOTE_ADDR']
      

  4.   

    用php的内置函数 在表单里面可以添加隐藏字段 加以判断
      

  5.   


    function getip()  
    {  
    if(!empty($_SERVER["HTTP_CLIENT_IP"]))  
    $cip = $_SERVER["HTTP_CLIENT_IP"];  
    else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))  
    $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];  
    else if(!empty($_SERVER["REMOTE_ADDR"]))  
    $cip = $_SERVER["REMOTE_ADDR"];  
    else  
    $cip = "127.0.0.1";  
    return $cip;
    }我一直用这个函数,还没出现什么问题,推荐楼主试试!
      

  6.   

    PHP 是服务端的语句。 与客户端没啥关系,只能用JS获取。
      

  7.   

            if (isset($_SERVER['HTTP_CLIENT_IP']))
            {
                $client_ip = $_SERVER['HTTP_CLIENT_IP'];
            }
            else
            {
                if (isset($_SERVER['REMOTE_ADDR']))
                {
                    $client_ip = $_SERVER['REMOTE_ADDR'];
                }
                else
                {
                    $client_ip = '0.0.0.0';
                }
            }