Php 使用$\u服务器['REMOTE\u ADDR'时获得超过1ip
我正在尝试为我的网站制作ip跟踪系统,然后将其插入sql 但我的问题是,一次单击,我的sql中就有2-4ip 我正在用这个编码Php 使用$\u服务器['REMOTE\u ADDR'时获得超过1ip,php,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(
<?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>";
?>
当任何人点击这一点,它是节省约4IP太不同,甚至有时不同的国家
为什么我的跟踪系统会出现这个问题。如果你知道这段代码在做什么,你就会知道在一次执行中插入多个值是不可能的。我知道在一次执行中插入多个值是不可能的,但它正在发生,但我无法得到背后的原因@devonclary,它由4个不同的系统执行,而不是从一次执行中保存4个IP。与服务器访问日志比较..我试过了。10天当我点击save 2-4ips@Devon时,我也尝试了我自己
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;
}