选择语言 :

 Core_Email::_get_ip

Get IP

string Core_Email::_get_ip( )
返回值
  • string
File: ./core/classes/email.class.php
protected function _get_ip()
{
    if ($this->_IP !== false)
    {
        return $this->_IP;
    }

    $cip = ( ! empty($_SERVER['HTTP_CLIENT_IP'])) ? $_SERVER['HTTP_CLIENT_IP'] : false;
    $rip = ( ! empty($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : false;
    if ($cip) $this->_IP = $cip;
    elseif ($rip) $this->_IP = $rip;
    else
    {
        $fip = ( ! empty($_SERVER['HTTP_X_FORWARDED_FOR'])) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : false;
        if ($fip)
        {
            $this->_IP = $fip;
        }
    }

    if (strpos($this->_IP, ',') !== false)
    {
        $x = explode(',', $this->_IP);
        $this->_IP = end($x);
    }

    if ( ! preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/', $this->_IP))
    {
        $this->_IP = '0.0.0.0';
    }

    return $this->_IP;
}