İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Amerika veya Avrupa IP numaraları ??

annudora

0
İyinet Üyesi
Katılım
6 Mart 2006
Mesajlar
2,016
Reaction score
3
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
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
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
İyinet Üyesi
Katılım
8 Aralık 2006
Mesajlar
1,775
Reaction score
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
 

Alexis

0
İyinet Üyesi
Katılım
24 Ekim 2005
Mesajlar
678
Reaction score
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
İyinet Üyesi
Onaylı Üye
Katılım
1 Şubat 2005
Mesajlar
3,367
Reaction score
7
Tarayıcı bilgilerine göre yapılamaz mı?
Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
 

annudora

0
İyinet Üyesi
Katılım
6 Mart 2006
Mesajlar
2,016
Reaction score
3
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
İyinet Üyesi
Katılım
24 Ekim 2005
Mesajlar
678
Reaction score
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
İyinet Üyesi
Katılım
6 Mart 2006
Mesajlar
2,016
Reaction score
3
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
İyinet Üyesi
Katılım
31 Aralık 2003
Mesajlar
2,515
Reaction score
0
15,592 satır var amerika ip aralığı için iptables ile :)
 

ploop

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
0
Konum
karavan
Genel bir ip aralığı yok ne yazık ki, hepsi birbirinden farklı.. Araya Uruguay vs. giriyor :D
 

Alexis

0
İyinet Üyesi
Katılım
24 Ekim 2005
Mesajlar
678
Reaction score
5

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst