
PHP ile kullanıcının IP adresini almak için genellikle $_SERVER
süper global değişkeni kullanılır. Aşağıda bu işlemi nasıl yapabileceğinizi gösteren basit bir örnek bulunmaktadır:
<?php
// Kullanıcının IP adresini alır
$ip_address = $_SERVER['REMOTE_ADDR'];
// IP adresini ekrana yazdırır
echo "Kullanıcının IP adresi: " . $ip_address;
?>
Bu kod, kullanıcının IP adresini alır ve ekrana yazdırır. Ancak, kullanıcı bir proxy sunucusu veya load balancer (yük dengeleyici) üzerinden bağlanıyorsa, $_SERVER['REMOTE_ADDR']
kullanıcının gerçek IP adresini vermeyebilir. Bu durumlarda, IP adresini elde etmek için ek kontrol ve doğrulama yapmak gerekebilir:
<?php
function getUserIP() {
if (isset($_SERVER['HTTP_CLIENT_IP']) && !empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip_address = $_SERVER['HTTP_CLIENT_IP'];
} elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip_address = $_SERVER['REMOTE_ADDR'];
}
return $ip_address;
}
// Kullanıcının IP adresini alır
$ip_address = getUserIP();
// IP adresini ekrana yazdırır
echo "Kullanıcının IP adresi: " . $ip_address;
?>
Bu kod, kullanıcı IP adresini belirlemek için farklı HTTP başlıklarını kontrol eder ve daha güvenilir bir sonuç elde etmeye çalışır. Ancak, HTTP başlıkları kullanıcı tarafından manipüle edilebileceğinden, elde edilen IP adresinin doğruluğu garanti edilemez.
Bir yanıt yazın