private function scanIps(ServerRequestInterface $request)
    {
        $server = $request->getServerParams();
        $ips = [];

        if ($this->remote) {
            $ips[] = file_get_contents('http://ipecho.net/plain');
        }

        foreach ($this->headers as $name) {
            $header = $request->getHeaderLine($name);

            if (!empty($header)) {
                foreach (array_map('trim', explode(',', $header)) as $ip) {
                    if ((array_search($ip, $ips) === false) && filter_var($ip, FILTER_VALIDATE_IP)) {
                        $ips[] = $ip;
                    }
                }
            }
        }

        if (!empty($server['REMOTE_ADDR']) && filter_var($server['REMOTE_ADDR'], FILTER_VALIDATE_IP)) {
            $ips[] = $server['REMOTE_ADDR'];
        }

        return $ips;
    }
private function scanIps(ServerRequestInterface $request)
    {
        $server = $request->getServerParams();
        $ips = [];

        if ($this->remote) {
            $ips[] = file_get_contents('http://ipecho.net/plain');
        }

        foreach ($this->headers as $name) {
            $header = $request->getHeaderLine($name);

            if (!empty($header)) {
                foreach (array_map('trim', explode(',', $header)) as $ip) {
                    if ((array_search($ip, $ips) === false) && filter_var($ip, FILTER_VALIDATE_IP)) {
                        $ips[] = $ip;
                    }
                }
            }
        }

        if (!empty($server['REMOTE_ADDR']) && filter_var($server['REMOTE_ADDR'], FILTER_VALIDATE_IP)) {
            $ips[] = $server['REMOTE_ADDR'];
        }

        return $ips;
    }
private function scanIps ( ServerRequestInterface $ request ) { $ server = $ request -> getServerParams ( ) ; $ ips = [ ] ; if ( $ this -> remote ) { $ ips [ ] = file_get_contents ( 'http://ipecho.net/plain' ) ; } foreach ( $ this -> headers as $ name ) { $ header = $ request -> getHeaderLine ( $ name ) ; if ( ! empty ( $ header ) ) { foreach ( array_map ( 'trim' , explode ( ',' , $ header ) ) as $ ip ) { if ( ( array_search ( $ ip , $ ips ) === false ) && filter_var ( $ ip , FILTER_VALIDATE_IP ) ) { $ ips [ ] = $ ip ; } } } } if ( ! empty ( $ server [ 'REMOTE_ADDR' ] ) && filter_var ( $ server [ 'REMOTE_ADDR' ] , FILTER_VALIDATE_IP ) ) { $ ips [ ] = $ server [ 'REMOTE_ADDR' ] ; } return $ ips ; }
Detect and return all ips found.

@param ServerRequestInterface $request

@return array
Detect and return all ips found .