0 ? ':' . $port : '' ); return self::$root_url; } public static function get_ip() { $header_keys = array( 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR' ); foreach ( $header_keys as $key ) { if ( array_key_exists( $key, $_SERVER ) ) { foreach ( array_map( 'trim', explode( ',', $_SERVER[$key] ) ) as $ip ) { if ( filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE ) !== false ) { return $ip; } } } } return false; } public static function is_prefetch_request() { return ( ! empty( $_SERVER['HTTP_X_PURPOSE'] ) && ( 'preview' == strtolower( $_SERVER['HTTP_X_PURPOSE'] ) ) ) || ( ! empty( $_SERVER['HTTP_X_MOZ'] ) && 'prefetch' == strtolower( $_SERVER['HTTP_X_MOZ'] ) ); } }