İçeriğe geç

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

PHP ile bir kullanıcının IP adresi aşağıdaki basit kod parçasıyla alınabilir.

$_SERVER['REMOTE_ADDR']

Buraya kadar herhangi bir sıkıntı yok fakat bazen kullanıcı veya kurumlar kendi IP adreslerini gizleme isteği duyarlar. Bunun nedenleri ise; coğrafi konumlarını saklamak, web izlencelerini gizlemek ve yasaklı olan sitelerde rahatça gezinmektir. Bunu da Proxy veya VPN kullanarak yapabilirler.

Bu durumlarda yukarıdaki kod satırımız doğru bir sonuç elde edemeyecektir.

Peki böyle bir durumda ne yapılması gerekir?

Böyle bir durumda, aslında kullanıcının IP adresine ihtiyaç duyulan her durumda yukarıdaki kod satırı doğrudan kullanılmamalıdır. Bunun yerine aşağıdaki satırlarımızı kullanmanız daha evla olacaktır.

$ip = '';

if (getenv('HTTP_CLIENT_IP')) {
    $ip = getenv('HTTP_CLIENT_IP');
} else if(getenv('HTTP_X_FORWARDED_FOR')) {
    $ip = getenv('HTTP_X_FORWARDED_FOR');
} else if(getenv('HTTP_X_FORWARDED')) {
    $ip = getenv('HTTP_X_FORWARDED');
} else if(getenv('HTTP_FORWARDED_FOR')) {
    $ip = getenv('HTTP_FORWARDED_FOR');
} else if(getenv('HTTP_FORWARDED')) {
    $ip = getenv('HTTP_FORWARDED');
} else if(getenv('REMOTE_ADDR')) {
    $ip = getenv('REMOTE_ADDR');
} else {
    $ip = '127.0.0.1';
}

Yukarıdaki satırlarımızda basit olarak; bazı durumları kontrol ettik. Ayrıca kodlarımızda getenv () metodunu kullandık. Metodun yaptığı şey; bir nevi ortam bilgilerini bize vermektedir. Biz de kodlarımız da bu değerleri alıp kullandık.

Peki bu kodlar ile bir kullanıcının gerçek IP değerine ulaşabilir miyiz? Bu kodlar ile kesin bir sonuç elde etmek yine mümkün değildir lakin; $_SERVER[‘REMOTE_ADDR’] satırından daha kesin bir sonuç elde etmek mümkündür. Dolayısıyla bu kod satırlarını kullanmanızı her zaman tavsiye ederim.

Saygı ve muhabbetle!..

Bu içeriği paylaşmak ister misiniz?

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Buradaki içeriklerin tümü kamu malıdır. Kullanılması ve paylaşılması özgürdür.