Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Amerika veya Avrupa IP numaraları ??

annudora

0
Onaylı Üye
Üye
Katılım
6 Mart 2006
Mesajlar
2,016
Açılan Konu
308
Tepki puanı
2
Konum
@nkara
Amerika veya Avrupa ip lerini ayrı sayfaya yönlendirmek istiyorum. Acaba bu ip lere dair belli bir başlangıç var mı ?

örnegin :
XX.###...
YYY.###...

şeklinde ilk 2 veya 3 haneye göre bu ayrımı yapabilirmiyiz ?
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
Hayır yapamazsın, buna özel veritabanı kullanman gerekiyor. GeoIP database diye aratırsan bulabilirsin ücretsiz veritabanlarını, biraz uğrasman gerekebilir :)
 

CMYLMZ

0
Onaylı Üye
Üye
Katılım
8 Aralık 2006
Mesajlar
1,775
Açılan Konu
73
Tepki puanı
0
Konum
Forumdan ayrıld
Bunların bir hesaplama tablosu vardı bilgiim kadarı ile
ve bir DB de buna ait AS numaraları var onlarla karışlaştırarak hangi ülkeden geldiğini bulabiliyorduk
ip2country gibi bişiydi ismi
 

i.ari

0
Onaylı Üye
Üye
Katılım
16 Aralık 2006
Mesajlar
4,437
Açılan Konu
534
Tepki puanı
6
Konum
Ankara
zor olabilir ama yapan çok yer var
 

Alexis

0
Onaylı Üye
Üye
Katılım
24 Ekim 2005
Mesajlar
678
Açılan Konu
64
Tepki puanı
5
3 yöntemini biliyorum, ilk yöntem tüm sunucu için, diğer ikisi site bazında yasaklama yapmak için.

1. ip tables ile tüm sunucu için yasaklama
2. GeoIP apache modülü, .htacess ile de çalışıyor
3. GeoIP PECL kütüphanesi (php modülü, php içinden 3-5 satır ile engellenebiliyor)

GeoIP'nin ücretsiz sürümü ülke bazında yasaklama için yeterli. Denediğim ücretsiz sürümün yaklaşık 350 kb lık bir veritabanı dosyası var. Bunun script bazında ürünlerini de görmüştüm, ancak her gelen talep için 350kb lık dosyanın include edilmesi bana sağlıklı gelmedi, sunucu RAM'inde durması daha mantıklı olabilir.

GeoIP veritabanı temini:
http://www.maxmind.com/app/geolitecountry
http://www.maxmind.com/app/geolitecity

Testlerimde apache modülü sanki biraz yavaşlatmıştı. Özellikle GeoIP veritabanın RAM cache yapılması RAM kullanımı arttırabiliyor.


Örneğin, PECL ile kurduğum PHP modülüm şu an çalışır durumda

Demo: http://test.canversoft.net/geoip/geoip_test.php

kaynak kodum:

PHP:
<?php
if (function_exists('geoip_db_avail') && geoip_db_avail(GEOIP_COUNTRY_EDITION))
{
	echo geoip_database_info(GEOIP_COUNTRY_EDITION) . '<br />';
	//echo geoip_db_filename(GEOIP_COUNTRY_EDITION) . '<br />';
	echo $_SERVER['REMOTE_ADDR'] . '<br />';

	echo geoip_country_code3_by_name($_SERVER['REMOTE_ADDR']) . '<br />';
	echo geoip_country_code_by_name($_SERVER['REMOTE_ADDR']) . '<br />';
	echo geoip_country_name_by_name($_SERVER['REMOTE_ADDR']) . '<br />';

	/*
	$country = geoip_country_code_by_name($_SERVER["REMOTE_ADDR"]);
	if (!(($country == "US") or ($country == "CA") or ($country == "GB") or ($country == "AU"))) { die("Service Unavailable!"); }
	*/
}
?>
 

disconnect

0
Onaylı Üye
Üye
Katılım
1 Şubat 2005
Mesajlar
3,367
Açılan Konu
221
Tepki puanı
7
Tarayıcı bilgilerine göre yapılamaz mı?
Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
 

annudora

0
Onaylı Üye
Üye
Katılım
6 Mart 2006
Mesajlar
2,016
Açılan Konu
308
Tepki puanı
2
Konum
@nkara
Hayır yapamazsın, buna özel veritabanı kullanman gerekiyor. GeoIP database diye aratırsan bulabilirsin ücretsiz veritabanlarını, biraz uğrasman gerekebilir :)

Aslında buna dair veritabanı buldum webde fakat bikaç MB ve sanırım buna göre sorgulama yapıp yönlendirme yapmak çok çok zorlar sistemi.

Mesela bizim ip ler 88.XXX şeklinde gidiyor - ABD - ing. - almanya için buna benzer başlangıçlar neler diye sormustum. PHP için öneri sunan oldu - benim kodlamam ASP zaten Genel bir ip aralığı varsa bunun kodlamasını halledebilirim.

Tarayıcı bilgilerine göre yapılamaz mı?
Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")

Bu da olabilir ama tam olarak hangi ülkeden bunu bulmak mümkün olmasa gerek.
 

Alexis

0
Onaylı Üye
Üye
Katılım
24 Ekim 2005
Mesajlar
678
Açılan Konu
64
Tepki puanı
5
HTTP_ACCEPT_LANGUAGE 'ın yanılma payı çok büyük, mesela şu an ingilizce firefox kullanıyorum, EN çıkacak ?

Önceden yazdığım yöntemler işe yaramadı mı?
 

annudora

0
Onaylı Üye
Üye
Katılım
6 Mart 2006
Mesajlar
2,016
Açılan Konu
308
Tepki puanı
2
Konum
@nkara
Önceden yazdığım yöntemler işe yaramadı mı?

ip tables ile - buna dair veritabanım var ama bu şekilde her kontrol siteyi baya yorabilir.
Maksadım yasaklama değil - amerika ip lerine farklı site reklamı açmak istiyorum.
Kodlamam ASP - sanırım seninkiler apache içindi.

Genel bir ip dizilişi alabilsem çok güzel olacak :)
 

uyuz

0
Onaylı Üye
Üye
Katılım
31 Aralık 2003
Mesajlar
2,515
Açılan Konu
41
Tepki puanı
0
15,592 satır var amerika ip aralığı için iptables ile :)
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
Genel bir ip aralığı yok ne yazık ki, hepsi birbirinden farklı.. Araya Uruguay vs. giriyor :D
 

Alexis

0
Onaylı Üye
Üye
Katılım
24 Ekim 2005
Mesajlar
678
Açılan Konu
64
Tepki puanı
5
Üst