کلاس پیدا کردن ip دقیق کاربر

با سلام یه کلاس کوچیک نوشتم گفتم شاید به درد بعضی از دوستان بخوره

اینجور که بوش میاد این کلاس از دو جهات ip رو چک می کنه و در آخر یک ip سر راست تحویل می ده

معمولا واسه چیزهای کوچیک تاپیک باز نمی کنم ولی دیدم به کار میاد

با تشکر


PHP:
class Find_Real_IP
{

public $Real_Ip;

public function RealIp()
{
    
    
$client_ip = @ $_SERVER['HTTP_CLIENT_IP'];
$x_forward_for = @ $_SERVER['HTTP_X_FORWARDED_FOR'];
$remote_addr =   $_SERVER['REMOTE_ADDR']; 
    
    if (!empty($client_ip))   //Check Kardane Ip Az Internet
    {
      $this->Real_Ip = $client_ip ;
    }
    elseif (!empty($x_forward_for))   // Check Kardane Ip Az Proxy
    {
      $this->Real_Ip = $x_forward_for;
    }
    else
    {
      $this->Real_Ip = $remote_addr;  
    }
    return $this->Real_Ip;
}



}


$realip = new Find_Real_IP();
echo $realip -> RealIp ();
 

Y.P.Y

Well-Known Member
این کلی روش کار شده. نسوزی فقط:
PHP:
function Client_IP()
{

	static $_Ary_List= array('REMOTE_ADDR', 'HTTP_CLIENT_IP', 'CLIENT_IP', 'HTTP_PROXY_CONNECTION', 'HTTP_FORWARDED', 'HTTP_X_FORWARDED', 'HTTP_X_FORWARDED_HOST', 'HTTP_X_FORWARDED_SERVER', 'FORWARDED_FOR_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED_FOR_IP', 'HTTP_X_FORWARDED_FOR', 'FORWARDED', 'X_FORWARDED_FOR', 'FORWARDED_FOR', 'X_FORWARDED', 'HTTP_VIA', 'VIA');

		foreach($_Ary_List as $_Value)
		{
			if(isset($_SERVER[$_Value]))
			{
				return($_SERVER[$_Value]);
			}
			elseif(getenv($_Value))
			{
				return(getenv($_Value));
			}
			elseif(isset($HTTP_SERVER_VARS[$_Value]))
			{
				return($HTTP_SERVER_VARS[$_Value]);
			}
			else
			{
				continue;
			}
		}

	return(0);
}
 

جدیدترین ارسال ها

بالا