Forum

Ziyaretçinin L...
 
Bildirimler
Hepsini Temizle

Ziyaretçinin Lokasyonuna Göre Farklı index#####.html Dosyasının Açılması

13 Yazılar
6 Üyeler
0 Likes
417 Görüntüleme
(@cozumpark)
Gönderiler: 16309
Illustrious Member Yönetici
Konu başlatıcı
 

Merhaba.


htaccess dosyasında (ya da daha iyi olacağını düşündüğünüz başka bir php tekniğiyle) siteyi ziyaret eden kullanıcıların geldiği şehre göre farklı html dosyasının açılmasını ya da mevcut bir html dosyasının içeriğinin farklı görünmesini nasıl sağlarız?

 
Gönderildi : 27/03/2010 04:32

(@abdullahkac)
Gönderiler: 80
Estimable Member
 

Bunu ip üzerinden belirlemek gerekiyor şehir olayını ki oda pek mümkün görünmüyor. Zira ip ler şehirleri pek doğru yansıtmıyor genelde. Ancak üyeler için böyle bir olay yapmak kolay tabiki.

 
Gönderildi : 28/03/2010 04:10

(@cozumpark)
Gönderiler: 16309
Illustrious Member Yönetici
Konu başlatıcı
 

Bunu ip üzerinden belirlemek gerekiyor şehir olayını ki oda pek mümkün görünmüyor. Zira ip ler şehirleri pek doğru yansıtmıyor genelde. Ancak üyeler için böyle bir olay yapmak kolay tabiki.


Crack sitelerinde ve çeşitli sitelerde gezerken "İzmir'li kızlar seni bekliyor" yazıyor fotoğraflı. Ben de izmir'deyim [:)] Bu nedenle mümkünsüzlüğünün olmadığını sanmıyorum.


Bilen birisi var mı tekniği? (Kod olursa memnun olurum).

 
Gönderildi : 28/03/2010 19:43

(@cozumpark)
Gönderiler: 16309
Illustrious Member Yönetici
Konu başlatıcı
 

Ha bir de Google Adwords için diyor ya; ziyaretçinizin geldiği şehre göre reklam gösteriyoruz diye.


Bu sanırım işin olabilirliğini gösteriyor 🙂

 
Gönderildi : 28/03/2010 20:10

(@abdullahkac)
Gönderiler: 80
Estimable Member
 

Ya tabiki oluyor. yani yukarıda mümkün görünmüyor derken kastettidğim şey olayın gerçekliği. izmirli kızlar olayından önce analyticsde bu net görünüyor ancak analytics verileride doğru sayılmaz ki. Onlarda tahmini. Amerika da ingilterede ip den şehir hatta mahalle sokak olarak bile yer tespit edebilirsiniz. Ancak Türkiyede bu şekilde değil. Türkiyenin ip dağarcığı bu kadar geniş değil. o yüzden otomatik ip alır modemler. ve yoğunluk doluluk durumuna göre bursadaki bir ip yi kütahya kullanabilir. ki bu ciddi derecede sapma oluşturuyor. Yani milyonda binde bir olan bir olay değil hatırı sayılır bir sıklıkta olan birşey. Tabiki yapılır. Bir sorun olduğunuda görmezsiniz belki. Ancak kütahyadan biren bir kişi hoş geldin bursalı yazısını görünce problem olabilir. 🙂

 

Ancak hayati derecede önemli ise yinede ip blokları bulunup gruplanır. ziyaretçinin ip adresi alınıp kıyaslanır. Yine biraz uğraştırır ama yine de verimli olacağını sanmıyorum. İlerleyen dönemlerde alt yapımız geliştiğinde belki daha verimli olabilir. 

 
Gönderildi : 28/03/2010 22:29

(@orhanakdogan)
Gönderiler: 311
Reputable Member
 

Merhabalar,
iki yöntemi var, ilki bu hizmeti veren sitelerden api desteği ile çekmek,
ikincisi ip range bilgilerini içeren db leri temin edip kullanmak.

ilk yöntem free ve kolay olmasından dolayı tercih edilebilir.
dezavantajı ise alınan sitedeki hizmetin kalıcı yada geçici olarak sona erme ihitimali küçükde olsa var.
bilgi dönmediğinde default sayfada bırakılması buna önlem olabilir.

ikincisinde ise eldeki dblerin zamanla güncellenmesi gerekebilir.
ayrıca bu yöntemde yazılacak kod çok.

ilk yöntem için demo adresi: http://orhan.ws/ip

(rdp ile 9 ilde test edip doğru sonuç aldım.)

sonuçlar yüzde 95 güvenilirdir.Büyük şehirlerde %100.
en kötü sonuç ise komşu şehir olabilir.

bu uygulamada kullanılan kodlar:

<?php
function locateIp($ip){
  $d = file_get_contents("http://www.ipinfodb.com/ip_query.php?ip=$ip&output=xml&timezone=false");
  if (!$d){
    $backup = file_get_contents("http://backup.ipinfodb.com/ip_query.php?ip=$ip&output=xml&timezone=false");
    $answer = new SimpleXMLElement($backup);
    if (!$backup) return false; // Failed to open connection
  }else{
    $answer = new SimpleXMLElement($d);
  }

  $ip = $answer->Ip;
  $country_code = $answer->CountryCode;
  $country_name = $answer->CountryName;
  $region_name = $answer->RegionName;
  $city = $answer->City;
  $zippostalcode = $answer->ZipPostalCode;
  $latitude = $answer->Latitude;
  $longitude = $answer->Longitude;
  return array('ip' => $ip, 'country_code' => $country_code, 'country_name' => $country_name, 'region_name' => $region_name, 'city' => $city, 'zippostalcode' => $zippostalcode, 'latitude' => $latitude, 'longitude' => $longitude);
}
 
$ip = $_SERVER['REMOTE_ADDR'];
$ip_data = locateIp($ip);
 
echo "IP : " . $ip_data['ip'] . "\n<br>";
//echo "Ülke Kodu : " . $ip_data['country_code'] . "\n<br>";
echo "Ülke : " . $ip_data['country_name'] . "\n<br>";
//echo "Bölge Adı : " . $ip_data['region_name'] . "\n<br>";
echo "Şehir : " . $ip_data['city'] . "\n";
//echo "Posta kodu : " . $ip_data['zippostalcode'] . "\n<br>";
//echo "Enlem: " . $ip_data['latitude'] . "\n<br>";
//echo "Boylam: " . $ip_data['longitude'] . "\n<br>";

?>

 
Gönderildi : 29/03/2010 01:17

(@abdullahkac)
Gönderiler: 80
Estimable Member
 

Ben tıkladım. Mümkünse büyük şehirlerde olmayan arkadaşlar varsa onlarda paylaşabilirler. bende izmir yazıyor. halbuki kütahyadayım. Bu gibi yankışlar olabiliyor...

Buraya resim eklemek ölüm gerçekten.

 upload linkini veriyorum...

http://www.resimupload.com/ds109427808_denemem.html 

 
Gönderildi : 29/03/2010 13:20

(@resulsoydas)
Gönderiler: 1627
Noble Member
 

Almanya Üzerinden Nete çıkıyoruz. Ve sonuç doğru

Sonuç Aşağıda

IP : 91.2xx.xx.xx

Ülke : Germany

Şehir : Waldkirch 

 
Gönderildi : 29/03/2010 13:51

(@SelcukUNAL)
Gönderiler: 319
Reputable Member
 

http://www.ip2location.com/  bu sitenin bir yardımı olurmu acaba?

 
Gönderildi : 29/03/2010 14:56

(@cozumpark)
Gönderiler: 16309
Illustrious Member Yönetici
Konu başlatıcı
 

Bütün sorunları Orhan bey mi çözer kardeşim [:D]


Çok teşekkürler. İşte aradığım !TAM OLARAK! buydu.

 
Gönderildi : 30/03/2010 17:40

(@cozumpark)
Gönderiler: 16309
Illustrious Member Yönetici
Konu başlatıcı
 

Son bir soru daha; bunu htaccess dosyası ile yapmak mümkün mü?


Yani ziyaretçinin şehrine göre index_us.html , index_tr.html , index_de.html dosyalarının açılması mümküm müdür?

 
Gönderildi : 30/03/2010 17:48

(@KerimAcar)
Gönderiler: 72
Estimable Member
 

Tabiki Mümkündür. bahsettiğin sitelerde bunun zaten kanıtıdır.


Ama bütün şehirleri tutturamazsin. ADSL DAĞITIM MERKEZLERİNE göre değişir


Mesela ben Adiyaman / kahta ilçesinde oturuyorum.


Ben int.Girmek istediğim zaman.


DAĞİTİM MERKEZİ Kahta Tekelom Portuna bağlaniyorum / Adiyaman Telekom / Diyarbakır ADSL (tam olarak neisim verdikleri bilmiyorum ama mantık öyle.)  Türkiye ADSL DAĞİTİM ... / DAĞITIM MERKEZLERİNE verilen İP LER BELLİDİR.


Mesela diyarbakir bölgesine(Güneydoğu)


85.250.*.*                                                                                                                                                                                                                                                                     78.36.*.*      gibi ip aralıklari verilir dağitim merkezide kendisi bağlanana adsl kullanicilara bu iplerden birer tane vererek internete erişim sağlar.


oturduğunuz yerin büyük bir şehir olmasi ve dağitim merkezi  olmasindan doğru çıkıyor. 

 
Gönderildi : 09/04/2010 14:03

(@cozumpark)
Gönderiler: 16309
Illustrious Member Yönetici
Konu başlatıcı
 

Kerim bey mümkünlük kısmını çözdük de nasıl mümkün yapılacağı ile ilgili .htaccess içeriğini bir türlü elde edemedik [:(]

 
Gönderildi : 11/04/2010 13:09

Paylaş: