Décrivez ici votre problème ou ce que vous cherchez à faire.

public static function getIpAdress()
    {
        $headers = [
            'HTTP_CLIENT_IP',
            'HTTP_X_FORWARDED_FOR',
            'REMOTE_ADDR'
        ];

        foreach ($headers as $header) {
            if (!empty($_SERVER[$header])) {
                $ip = $_SERVER[$header];
                if ($header === 'HTTP_X_FORWARDED_FOR') {
                    $ipArray = explode(',', $ip);
                    $ip = trim(end($ipArray));
                }
                if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_IPV6) !== false) {
                    return $ip;
                }
            }
        }
        return false;
    }

Ce que je veux

D'abord j'aimerais savoir si ce code est viable en terme de sécurité, mais aussi que vous me disiez si lors de l'appel de ma page web en GET par un client je pourrai obtenir son adresse ip. Si ce n'est pas le cas j'aurai besoin d'aide pour réajuster le code et atteindre mon objectif. J'ai pensé à écrire un test unitaire mais franchement je ne sais pas vraiment comment l'écrire pour que ça reflète réellement ce qui se passera lors de l'appel de ma page

Aucune réponse