Browse > Home / PHP / Ziyaretçi İp Adresini ve Hostname Almak

| Subcribe via RSS

Ziyaretçi İp Adresini ve Hostname Almak

Ağustos 27th, 2008 Posted in PHP

Bazen projelerinizde ziyaretçinin yada yorum yazanların ip adreslerini loglamak gerekebilir.PHP de ziyaretçinin ip adresini (proxy yada gerçek) hostname rahatça alabiliriz.
Özellikle yorum ve anket uygulamalarında başarılı sonuç verecektir.Sürekli spam gelen ip adresleride cabası.
Normal ip adresini almak için :

echo $_SERVER['REMOTE_ADDR'];

Hostname almak için:

echo gethostbyaddr($_SERVER['REMOTE_ADDR']);

Proxy kullanan ziyaretçinin gerçek ip adresini ögrenmek için:

<?
function real_ip_adress() {
global $HTTP_SERVER_VARS;
$gizli_ipler = array( ‘10.0.0.’, ‘192.168.’, ‘127.0.0.’, ‘172.16.0.’ );
if( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != ) {
$ip_strings = explode( ‘,’,$_SERVER['HTTP_X_FORWARDED_FOR']);
foreach($ip_strings as $k => $v) {
if( empty($v) ) {
unset( $ip_strings[$k] );
} else {
if(!isset($ip_string)) {
$ip_string = $v;
}
}
}
}
if( isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] != ) {
$ip_strings[] = $_SERVER['REMOTE_ADDR'];
if(!isset($ip_string)) {
$ip_string = $_SERVER['REMOTE_ADDR'];
}
}
foreach($ip_strings as $k1 => $ip) {
foreach($gizli_ipler as $k2 => $pip) {
if(strpos($ip, $pip) === 0) {
unset($ip_strings[$k1]); break;
}
}
}
if(!empty($ip_strings) ) {
foreach( $ip_strings as $v ) {
if(!empty($v)) {
$ip_string = $v;
$is_local_ip = false;
break;
}
}
} else {
$is_local_ip = true;
}
return $ip_string;
}
$ip = real_ip_adress();echo ‘IP Adresi : ‘.$ip;
?>
Beğendiysen Paylaş veya Bişeyler Karala Yorumlara =)
  • Facebook
  • TwitThis
  • Google
  • YahooMyWeb
  • Live
  • Print this article!
  • E-mail this story to a friend!
  • MySpace
  • Sphinn
  • Digg
  • del.icio.us
  • Mixx

Leave a Reply