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.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay