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

use*_*510 4 php ip logging ip-address

可能重复:
使用PHP获取用户真实IP地址

我想记录使用php脚本访问我网站的任何人的IP地址,以阻止可能的垃圾邮件发送者.有没有一种万无一失的方法来查找和记录任何人的真实IP地址或最可靠的方法?

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

Muk*_*ain 15

用于在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;
}
Run Code Online (Sandbox Code Playgroud)

资料来源: - http://roshanbh.com.np/2007/12/getting-real-ip-address-in-php.html

  • 请注意,X-Forwarded-For可能是逗号+空格分隔的IP列表,而不仅仅是1:http://en.wikipedia.org/wiki/X-Forwarded-For#Format (2认同)