$_SERVER['REMOTE_ADDR'];Yukarıdaki kod proxyleri devre dışı bırakıyormu?
İp Adresi Almak İstiyorum
12
●5.711
- 02-11-2008, 22:15:26Üyeliği durdurulduProxy türüne göre. Anonim çalışan proxy'leri aşamazsınız. Ancak Transparent olarak
çalışan proxyler karşı tarafa gerçek IP adresinide verir.
Örnek:
<?php if($_SERVER['HTTP_X_FORWARDED_FOR']): echo "Proxy Name " .$_SERVER['HTTP_VIA']; echo "Proxy IP " .$_SERVER['REMOTE_ADDR']; echo gethostbyaddr; echo "Your Real IP " .$_SERVER['HTTP_X_FORWARDED_FOR']; else: // if access direct to Internet, without Proxy echo "Real IP " . $_SERVER['REMOTE_ADDR']; endif; ?> - 03-11-2008, 01:18:33Gerçek ip bulmak için böyle bir fonksiyon kullanıyorum. Alıntıdır ama nerden hatırlamıyorum.
function gercekip(){ global $HTTP_SERVER_VARS; $private_net_ip_masks = array( '10.0.0.', '192.168.', '127.0.0.', '172.16.0.' ); if( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != '' ){ $ipStrings = explode( ',',$_SERVER['HTTP_X_FORWARDED_FOR']); foreach($ipStrings as $k => $v){if( empty($v) ){unset( $ipStrings[$k] ); }else {if(!isset($ipString)) { $ipString = $v; } } } } if( isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] != '' ){ $ipStrings[] = $_SERVER['REMOTE_ADDR']; if(!isset($ipString)) {$ipString = $_SERVER['REMOTE_ADDR'];} } foreach($ipStrings as $k1 => $ip){ foreach($private_net_ip_masks as $k2 => $pip){ if(strpos($ip, $pip) === 0) { unset($ipStrings[$k1]); break; } } } if(!empty($ipStrings) ){ foreach( $ipStrings as $v ){if(!empty($v)){ $ipString = $v; $is_local_ip = false; break; } }} else { $is_local_ip = true; } return $ipString; } - 04-11-2008, 12:24:28radmin de daha önce vermişti, forumda mevcut;
<?php function kullaniciinfo () { $proxy=""; $IP = ""; if (isSet($_SERVER)) { if (isSet($_SERVER["HTTP_X_FORWARDED_FOR"])) { $IP = $_SERVER["HTTP_X_FORWARDED_FOR"]; $proxy = $_SERVER["REMOTE_ADDR"]; } elseif (isSet($_SERVER["HTTP_CLIENT_IP"])) { $IP = $_SERVER["HTTP_CLIENT_IP"]; } else { $IP = $_SERVER["REMOTE_ADDR"]; } } else { if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) { $IP = getenv( 'HTTP_X_FORWARDED_FOR' ); $proxy = getenv( 'REMOTE_ADDR' ); } elseif ( getenv( 'HTTP_CLIENT_IP' ) ) { $IP = getenv( 'HTTP_CLIENT_IP' ); } else { $IP = getenv( 'REMOTE_ADDR' ); } } if (strstr($IP, ',')) { $ips = explode(',', $IP); $IP = $ips[0]; } $RemoteInfo['ip']=$IP; $RemoteInfo['hostadi']=@GetHostByAddr($IP); $RemoteInfo['proxy']=$proxy; return $RemoteInfo; } //Örnek kullanım #kullanıcının fonksiyondan gelecek bilgileri bir değişkene atayalım $user=kullaniciinfo (); #kullanıcının ip adresini ekrana yazdıralım echo $user['ip']; #kullanıcının host adını ekrana yazdıralım echo $user['hostadi']; #varsa kullanıcının proxy si için echo $user['proxy']; //Örnek kullanım bitti ?> - 04-11-2008, 13:32:35Üyeliği durduruldu$_SERVER Bir Apache Global Değişkenidir.helperman adlı üyeden alıntı: mesajı görüntüle
Ve Sadece Sunucu Bazlı Çalışmalarınıda Kullanabilirsiniz. (Server Side)
Eğer HTML Site İçerisinde Kullanmktan Kastınız HTML İçine Gömmekse Bu Tabiiki Mümkün PHP Önemli Özelliklerinden Biride Hypertext Olmasıdır.
Şayet Yok Suncu Bazlı Değil Ben static Olan Sayfada (client Side) İp Göstermek İstiyorum Diyosanız.
<script language="JavaScript"> var sorgu= '<!--#echo var="REMOTE_ADDR"-->'; document.write('<input type="hidden" id="ipsi" />'); ipsi.value = sorgu; function ipver(){ var IP = ipsi.value; return IP; } </script>IP adresini almak icin ipver() Fonksiyonununu Kullanıyoruz.
Kolay Gelsin.