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'];
}
}
Test;
var_dump(getClientIP());
Çıktı;
string(9) "104.28.154.247"
Çı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)