使用$ _SERVER ['REMOTE_ADDR']时获得超过1ip的费用

时间:2016-07-07 14:55:06

标签: php

我正在尝试为我的网站制作ip跟踪系统,然后将其插入到sql中。

但我的问题是,只需点击一下,我的sql就会得到2-4ip。

目前使用此编码。

<?php
include 'config.php';
$ip=$_SERVER['REMOTE_ADDR'];
$referer=$_SERVER['HTTP_REFERER'];
 mysql_query("INSERT INTO `track`(`date`, `time`, `ip`, `referer`)       
VALUES ( CURDATE(), NOW(),'".$ip."', '".$referer."')");
echo"<script type='text/javascript'>
 window.location.href='http://example.com';
 </script>";
?>

当任何人点击它时,它会节省大约4个差异,甚至有时会在不同国家/地区保存。

为什么我的跟踪系统会出现此问题。

1 个答案:

答案 0 :(得分:0)

function getRealIpAddr()  
{  
    if (isset($_SERVER['HTTP_CLIENT_IP']))  
    {  
        $ip=$_SERVER['HTTP_CLIENT_IP'];  
    }  
    elseif (isset($_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;  
}