php ile ziyaretçi bilgileri..

php ile bir site hazırladığınızda, sitenizi ziyaret eden kullanıcıların her türlü bilgisini de alabilirsiniz.. ip adresi, sitenize hangi adres üzerinden geldiği, kullandığı internet tarayıcısı, tarayıcı dili gibi bilgileri öğrenebiliriz.. özellikle kullanıcının doldurmasını istediğimiz formlarda bu özelliklerden faydalanmak mümkün.. ya da sadece zevk olsun diye kullanıcıların bu bilgilerini de alabiliriz :)

peki, bu bilgileri hangi kodlarla, nasıl alabiliriz? o da şu şekilde:

önce, hangi kodları kullanabiliriz, onlara bakalım..

<?php

	echo 'ip adresi: <strong>'. $_SERVER['REMOTE_ADDR'] .'</strong>';
	echo '<br />';
	echo 'uzak host: <strong>'. gethostbyaddr($_SERVER['REMOTE_ADDR']) .'</strong>';
	echo '<br />';
	echo 'internet tarayıcısı: <strong>'. $_SERVER['HTTP_USER_AGENT'] .'</strong>';
	echo '<br />';
	echo 'geldiği adres: <strong>'. $_SERVER['HTTP_REFERER'] .'</strong>';
	echo '<br />';
	echo 'tarayıcı dili: <strong>'. $_SERVER['HTTP_ACCEPT_LANGUAGE'] .'</strong>';
	echo '<br />';
	echo 'sıkıştırma isteği: <strong>'. $_SERVER['HTTP_ACCEPT_ENCODING'] .'</strong>';
	echo '<br />';
	echo 'sunucu protokolü: <strong>'. $_SERVER['SERVER_PROTOCOL'] .'</strong>';
	echo '<br />';
	echo 'karakter seti: <strong>'. $_SERVER['HTTP_ACCEPT_CHARSET'] .'</strong>';
	echo '<br />';
	echo 'kabul: <strong>'. $_SERVER['HTTP_ACCEPT'] .'</strong>';
	echo '<br />';
	echo 'istek metodu: <strong>'. $_SERVER['REQUEST_METHOD'] .'</strong>';
	echo '<br />';
	echo 'uzak port: <strong>'. $_SERVER['REMOTE_PORT'] .'</strong>';
	echo '<br />';
	echo 'gerçek ip (proxy ile gelmişse): <strong>'. $_SERVER['HTTP_X_FORWARDED_FOR'] .'</strong>';
	echo '<br />';
	echo 'çerezler: <strong>'. $_SERVER['HTTP_COOKIE'] .'</strong>';

?>

kodlar bunlar.. peki hangisi ne iş yapıyor? tam olarak nedirler?

  • ip adresi: bilgisayarımızın internette kullandığı, 66.249.65.104 gibi görünen adresidir.. ip adresinden kişinin ev adresini rahatlıkla bulabilirsiniz.. tabii suç duyurusunda bulunmak gerek :)
  • uzak host: ip adresinin hangi alana ait olduğunu görebilirsiniz.. 66.249.65.104 ip adresine sahip google botunun uzak host çıktısı crawl-66-249-65-104.googlebot.com şeklinde.. böylece sitenizi ziyaret eden kişinin gerçek kişi mi yoksa bir bot mu olduğunu anlayabilirsiniz..
  • internet tarayıcısı: kullanıcının hangi tarayıcı ile (chrome, firefox, safari, opera vb) sitenizi ziyaret ettiğini gösterir..
  • geldiği adres: ziyaretçi sizin sitenize hangi adres üzerinden geldi? bunun cevabını bu kod ile alabilirsiniz..
  • tarayıcı dili: internet tarayıcısının hangi dile göre ayarlandığını gösterir..
  • sıkıştırma isteği: tarayıcı, internet sayfasının sıkıştırılmış halini istiyorsa burada belirtir.. bütün tarayıcılar bunu isterler.. amaç ağ trafiğini düşürmek.. google haricindeki diğer botlar ise böyle bir istekte bulunmazlar..
  • sunucu protokolü: internet tarayıcıları http/1.1 ile iletişim kurarlar.. yine google dışındaki botlar http/1.0 kullanırlar..
  • istek metodu: normal şartlarda istek metodu olarak get kullanılır.. örneğin tarayıcının adres satırında girdiğimiz değerler get metodu ile iletilirler.. ancak formlarda genelde post kullanılır..
  • uzak port: kullanıcı bilgisayarının, internet sitesi ile iletişime geçmek için kullandığı port numarasıdır..
  • gerçek ip: eğer siteye proxy ile girilmişse, proxy bize kullanıcının gerçek ip adresini verir..
  • çerezler: sitemiz ile kullanıcıya çerez (cookie) göndermişsek, bu kod yardımı ile görebiliriz..

buradaki kodlar yardımı ile, her ziyaretçiye farklı sayfalar göstermemiz mümkündür.. ya da bazı tarayıcıları kullanan kişileri sitemize almayabiliriz :)

<?php

$tarayici = $_SERVER["HTTP_USER_AGENT"];
if (strstr($tarayici, 'MSIE'))
{
	echo '<strong>internet explorer</strong> ile giremezsin!';
	exit();
}

?>

buraya tıklayarak yukarıdaki kodların nasıl çalıştığını da görebilirsiniz..

etiketler, , , , , , , , , , , , ,

Yorum yaz









dipnot: Yorumunuz onaydan geçtikten sonra yayınlanacak. Aynı yorumu tekrar tekrar göndermemeniz rica olunur.