Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php获取用户ip地址的最可靠方法?_Php_Logging_Ip_Ip Address - Fatal编程技术网

使用php获取用户ip地址的最可靠方法?

使用php获取用户ip地址的最可靠方法?,php,logging,ip,ip-address,Php,Logging,Ip,Ip Address,可能重复: 我想记录的ip地址谁访问我的网站使用php脚本阻止可能的垃圾邮件发送者。有没有可靠的方法来查找和记录任何人的真实ip地址或最可靠的方法 更新:我的网站只要求用户输入登录密码,不需要用户名。如果我想保留当前的验证方法,我还可以使用哪些其他方法阻止或阻止大多数垃圾邮件发送者?正如Dagon所说,$\u SERVER['REMOTE\u ADDR'],至少使用Apache 但是,它已经在Apache日志中了。函数在PHP中查找真实的IP地址 function getRealIpAddr(

可能重复:

我想记录的ip地址谁访问我的网站使用php脚本阻止可能的垃圾邮件发送者。有没有可靠的方法来查找和记录任何人的真实ip地址或最可靠的方法


更新:我的网站只要求用户输入登录密码,不需要用户名。如果我想保留当前的验证方法,我还可以使用哪些其他方法阻止或阻止大多数垃圾邮件发送者?

正如Dagon所说,$\u SERVER['REMOTE\u ADDR'],至少使用Apache


但是,它已经在Apache日志中了。

函数在PHP中查找真实的IP地址

function getRealIpAddr()
{
    if (!empty($_SERVER['HTTP_CLIENT_IP']))   //check ip from share internet
    {
      $ip=$_SERVER['HTTP_CLIENT_IP'];
    }
    elseif (!empty($_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;
}

来源:-

$\u SERVER['REMOTE\u ADDR'],您无法通过任何可靠的方式阻止垃圾邮件发送者我还能做些什么来阻止或阻止大多数垃圾邮件发送者?重述一遍?要求登录Facebook(并且只接受至少有10个朋友的人)?有几件事突然出现在脑海中,请注意X-Forwarded-For可能是一个逗号+空格分隔的IP列表,而不仅仅是1:这不是很危险吗?http_x_forwared可以由客户端修改,对吗?只要坚持使用$_SERVER['REMOTE_ADDR'];