PHP İle Ziyaretçi Bilgileri

PHP ile bir site hazırladığınızda, sitenizi ziyaret eden kullanıcıların bazı bilgilerini 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 🙂 Tabii ki asıl kullanımı ziyaretçileri tanımak 🙂

Peki, bu bilgileri hangi kodlarla, nasıl alabiliriz? Önce, hangi kodları kullanabiliriz, onlara bakalım:

<?php
	echo 'IP Adresi: '. $_SERVER['REMOTE_ADDR'];
	echo '<br />';
	echo 'Uzak Host: '. gethostbyaddr($_SERVER['REMOTE_ADDR']);
	echo '<br />';
	echo 'İnternet Tarayıcısı: '. $_SERVER['HTTP_USER_AGENT'];
	echo '<br />';
	echo 'Geldiği Adres: '. $_SERVER['HTTP_REFERER'];
	echo '<br />';
	echo 'Tarayıcı Dili: '. $_SERVER['HTTP_ACCEPT_LANGUAGE'];
	echo '<br />';
	echo 'Sıkıştırma İsteği: '. $_SERVER['HTTP_ACCEPT_ENCODING'];
	echo '<br />';
	echo 'Sunucu Protokolü: '. $_SERVER['SERVER_PROTOCOL'];
	echo '<br />';
	echo 'Karakter Seti: '. $_SERVER['HTTP_ACCEPT_CHARSET'];
	echo '<br />';
	echo 'İstek Metodu: '. $_SERVER['REQUEST_METHOD'];
	echo '<br />';
	echo 'Uzak Port: '. $_SERVER['REMOTE_PORT'];
	echo '<br />';
	echo 'Gerçek IP (Proxy ile gelmişse): '. $_SERVER['HTTP_X_FORWARDED_FOR'];
	echo '<br />';
	echo 'Çerezler: '. $_SERVER['HTTP_COOKIE'];
?>

Kodlarımız 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.
  • İnternet 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: İnternet tarayıcısının hangi dile göre ayarlandığını gösterir.
  • Sıkıştırma İsteğ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ü: İnternet tarayıcıları “http/1.1” ile iletişim kurarlar. Yine Google dışındaki botlar “http/1.0” kullanırlar.
  • İstek 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>İnternet Explorer</strong> ile giremezsin!';
		exit();
	}
?>

Kodların çalışan örnek hâline bakmak için buraya tıklayabilirsiniz.

Buna da bakabilirsiniz

Zafer Yine Bizim Olacak!

Dün akşam hem Beşiktaş futbol tarihinde, hem de Türk futbol tarihinde bir ilki gerçekleştirdi Beşiktaş. …

Bu konu hakkındaki düşüncelerinizi belirtmekten çekinmeyin :)