pillinetwork hesabınızla giriş yapın.

Etiket:

gzip hakkındaki yazılar:

PHP ile ziyaretçi bilgilerini tespit etmek

PHP'yle sitenizi ziyaret eden kullanıcı hakkında envai çeşit bilgiye hasıl ulaşabileceğiniz ile ilgili bir yazı hazırladım. Envai çeşitten kastım, IP adresinden sunucu protokolüne kadar istemcinin sunucuya gönderdiği çeşitli bilgiler. Görelim:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
echo "IP adresi: " . $REMOTE_ADDR . "<br />";
echo "Uzak host: " . gethostbyaddr($_SERVER['REMOTE_ADDR']) . "<br />";
echo "Web tarayıcısı: " . $HTTP_USER_AGENT . "<br />";
echo "Referans adresi: " . $HTTP_REFERER . "<br />";
echo "Kullanıcının dilleri: " . $_SERVER['HTTP_ACCEPT_LANGUAGE'] . "<br />";
echo "sıkıştırma isteği: " . $_SERVER['HTTP_ACCEPT_ENCODING'] . "<br />";
echo "Sunucu protokolü: " . $_SERVER['SERVER_PROTOCOL'] . "<br />";
echo "HTTP bağlantısı: " . $HTTP_CONNECTION . "<br />";
echo "Karakter seti: " . $_SERVER['HTTP_ACCEPT_CHARSET'] . "<br />";
echo "Kabul: " . $HTTP_ACCEPT . "<br />";
echo "İstek metodu: " . $_SERVER['REQUEST_METHOD'] . "<br />";
echo "Uzak port: " . $REMOTE_PORT . "<br />";
echo "HTTP_VIA (proxy sağlayıcısı): " . $HTTP_VIA . "<br />";
echo "Gerçek IP (proxy üzerinden isen): " . $HTTP_X_FORWARDED_FOR . "<br />";
echo "Çerezler: " . $HTTP_COOKIE . "<br />";
?>

Açıklama:
Uzak host; IP adresinin alan adını görebilirsiniz, örneğin 144.122.250.220 IP'sinin alan adı y22-27.pclabs.metu.edu.tr, böylece ziyaretçinin hangi bilgisayarı kullandığını ya da hangi domain'de olduğunu öğrenebiliyoruz. Ya da bir web sitesi, dolayısıylşla gerçek ziyaretçi mi yoksa bot mu olduğu fikrine de ulaşabiliriz.
Web tarayıcısı; web tarayıcısının tam çözümü. Örneğin Firefox 3.0.8'inkisi şöyle: Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
Referans adresi; sayfaya hangi adresten geldiğiniz.
Kullanıcının dilleri; kullanıcının kendi tarayıcısında belirttiği diller.
Sıkıştırma isteği; tarayıcı web sayfasının sıkıştırılmış halini istiyorsa burada belirtir. Uzun yıllardır tüm tarayıcılar böyle bir istekte bulunurlar (gzip isteği), amaç ağ trafiğini düşürmek. Google haricindeki botlar böyle bir istekte bulunmazlar, bu bilgiden yola ziyaretçinin bot olup olmadığını anlayabilirsiniz. Ayrıntılı bilgi için Kodaman'daki gzip yazısını okuyabilirsiniz.
Sunucu protokolü, web tarayıcıları HTTP/1.1 sunucu protokolüyle iletişim kurmak istediklerini belirtirler, oysa Google haricindeki birçok bot (web proxy'ler dahil) HTTP/1.0 protokolünü kullanır. Bu da insan ziyaretçiler ile bot ziyaretçileri birbirinden ayırt etmek için kullanılabilir.
HTTP bağlantısı; bağlantı süresiyle ilgili bilgi, web tarayıcıları (en azından Firefox-Apache ikilisi) keep-alive'ı tercih ediyor. bir web proxy yazılımında denediğimde bu kısmın boş olduğunu farkettim.
İstek metodu ya da istek yöntemi; Genellikle GET (normal istek metodu), form'lardan bilgi gönderirken POST.
HTTP_VIA; eğer proxy üzerinden bağlanıyorsanız ve proxy de kendisini tanıtıyorsa burada proxy'yle ilgili bilgi bulunuyor, örneğin; 1.1 www.cc.metu.edu.tr:2003 (squid). Bunlar genellikle vekil sunucuların bulunduğu büyük kuruluşlarda olur ve yararlanmak için tarayıcıdan küçük bir ayar yapılması gerekir. Örneğin Firefox'ta bağlantı ayarlarından vekil sunucu ayarlarını otomatik tanı seçeneğinin işaretlenmesi gerekiyor.
Gerçek IP; proxy gerçek IP'nizi buradan bildiriyor.
Çerezler; sunucumuzdan tarayıcıya çerez bıraktıysak buradan görebiliriz.

/* darkhorn yazdı. 20 Nisan 2009 13:15. 9 yorum var */

GZip ile Veri Transferini Düşürmek

Bildiğiniz üzere ülkemizdeki internet çok pahalı ve bu yüzden de birçok kişi sınırlı ADSL kullanmak zorunda kalıyor; 4GBcık. Peki, sınırlı ADSL kullanıcıları için ne yapabiliriz? GZip'li veri transveri. GZip ile web sayfaları sunucuda %70 - %80 oranında sıkıştırılır, sıkıştırılmış olarak göderilir, istimcede açılır.

Bu yöntemle internet trafiğini hem ziyaretçi için hem de genel ağı kullananlar için rahatılmış olunur, web sitesi daha hızlı download edilir, 4GB sınırlı internet kullanıcılarının kotaları boşa harcanmaz, bandwidth'den tasarruf edilir... Tabii yan etkileri de var ama çok da önemli olduklarını düşünmüyorum; sunucunun ve istemcinin işlemcileri biraz daha fazla çalıştırcak.

/* darkhorn yazdı. 03 Ocak 2009 18:45. 22 yorum var */

etiket menüsü

Bu site

Nokta ve pilli ortak yapımı olan kodaman.org hep birlikte içerik üretip gelirini yazarları ile paylaştığımız kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.

pilliilan

son yorumlar

arama

pillinetwork