DEV Community

Gürkan Biçer
Gürkan Biçer

Posted on

PHP ile Kullanıcının Gerçek IP Adresini Almak

Web server eğer Cloudflare veya herhangi bir Reverse Proxy arkasındaysa, kullanıcının gerçek IP adresini almak için ekstra bir fonksiyona ihtiyaç duyarız. Aşağıdaki fonksiyon kullanıcının gerçek IP adresini almak için yardımcı olarak kullanılabilir.

function getClientIP()
{
    if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {
        return $_SERVER['HTTP_CF_CONNECTING_IP'];
    } else if (isset($_SERVER['HTTP_X_REAL_IP'])) {
        return $_SERVER['HTTP_X_REAL_IP'];
    } else if (isset($_SERVER['HTTP_CLIENT_IP'])) {
        return $_SERVER['HTTP_CLIENT_IP'];
    } else if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        return $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else if (isset($_SERVER['HTTP_X_FORWARDED'])) {
        return $_SERVER['HTTP_X_FORWARDED'];
    } else if (isset($_SERVER['HTTP_FORWARDED_FOR'])) {
        return $_SERVER['HTTP_FORWARDED_FOR'];
    } else if (isset($_SERVER['HTTP_FORWARDED'])) {
        return $_SERVER['HTTP_FORWARDED'];
    } else {
        return $_SERVER['REMOTE_ADDR'];
    }
}
Enter fullscreen mode Exit fullscreen mode

Test;

var_dump(getClientIP());
Enter fullscreen mode Exit fullscreen mode

Çıktı;

string(9) "104.28.154.247"
Enter fullscreen mode Exit fullscreen mode

Çıktıda belirtilen IP adresi neden Cloudflare IP adresi, kod mu hatalı?

Hayır. Kod doğru. İnternet bağlantım için kendi IP adresimi, kendi sunucularım ve belli başlı online bankacılık işlemlerim harici isteklerimi Cloudflare WARP üzerinden ücretsiz geçirerek gizliyorum. Bir başka yazıda Cloudflare WARP hakkında bahsedeceğim.

Top comments (0)