İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

Proxy Koruyucu

NeFuSa

0
İyinet Üyesi
Katılım
27 Aralık 2006
Mesajlar
1,414
Reaction score
15
Konum
İstanbul
Banner değişim programlarında, anket türü yazılımlarda ve bir çok alanda çerez+ip guvenlik sistemini kullanan webmasterların ortak sorunu genellikle;

-çerezleri silip, proxy ile sahte tıklama yapabiliyorlar.
Küçük bir fonksiyon ile şimdi buna son verelim.

Kod:
<-- Fonksiyon başlangıcı ->
function GetOrjIP(){ 
        global $HTTP_SERVER_VARS; 
        $private_net_ip_masks = array( '10.0.0.', '192.168.', '127.0.0.', '172.16.0.' ); 
        if( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != '' ){ 
          $ipStrings = explode( ',',$_SERVER['HTTP_X_FORWARDED_FOR']); 
          foreach($ipStrings as $k => $v){if( empty($v) ){unset( $ipStrings[$k] ); }else {if(!isset($ipString)) { $ipString = $v; } } } 
        } 
        if( isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] != '' ){ 
          $ipStrings[] = $_SERVER['REMOTE_ADDR']; 
          if(!isset($ipString)) {$ipString = $_SERVER['REMOTE_ADDR'];} 
        } 
        foreach($ipStrings as $k1 => $ip){ foreach($private_net_ip_masks as $k2 => $pip){ if(strpos($ip, $pip) === 0) { unset($ipStrings[$k1]); break; } } } 
        if(!empty($ipStrings) ){ foreach( $ipStrings as $v ){if(!empty($v)){ $ipString = $v; $is_local_ip = false; break; } }} 
        else { $is_local_ip = true; } 
        return $ipString; 
    } 
<-- Fonksiyon bitişi ->

Kullanımı :

$GercekIP = GetIP();
echo $GercekIP;

Alıntıdır : [Ceviz.NET]
 

NeFuSa

0
İyinet Üyesi
Katılım
27 Aralık 2006
Mesajlar
1,414
Reaction score
15
Konum
İstanbul
131.1.139.1:8080
Bu mesela bir proxy.
Bu fonksiyon ile bu tür proxylerle sitenize sahte hit yapamıyorsunuz mesela..
Toplistlerde özellikle çok işe yarıyor..
 

forumselcuk

0
İyinet Üyesi
Katılım
26 Şubat 2006
Mesajlar
713
Reaction score
1
Konum
Selçuk Üniversi
Ben bu kodu asp de yazmak istiyorum ve php hiç bilmiyorum
Yani neyi test ediyorsunuz başı ip'nin başımı önemli yada bi yerde buldum HTTP_X_FORWARDED_FOR boş oluncamı proxy oluyor
 

Loi

0
İyinet Üyesi
Katılım
13 Kasım 2006
Mesajlar
6,192
Reaction score
44
Konum
localhost
Ya ben yukaridakini anlamadim, yada yukaridaki cok gereksiz bir fonksiyon. Bu fonksiyon ne port scanning yapiyor nede baska bisey yapiyor.

Gercek guvenlik sistemi bana göre soyle yapilir. Sisteme giren clientlarin IPleri kayit edilir sistemin en musait aninda veya ayni networkdeki baska bir makina ile bir yandanda IP scanning yapilir. 8080, 1080, 3128 ve bunun gibi cok bilindik portlara erisilenler, serverin blacklistesine yazilir.

Client sisteme en fazla 1 kere erismis olur, 2. kez erisemez.
 

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