folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Web Sitesinde İp Log Tutma



Web Sitesinde İp Log Tutma

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WildWamqire
    WildWamqire's avatar
    Kayıt Tarihi: 06/Mart/2011
    Erkek

    merhaba arkadaşlar üzerinde çalıştığım bir projede php ile ip log tutmak istiyorum.

    Kod vs ile ilgili bir sorunum yok. Daha önceden isteyen müşterilerime yaptığım bir sistem.

    Ancak bu yapacagım projede üyelik alanlara özel ayırdığım sayfaya giren kişilerin iplerini tutacagım.

    Şimdi 100 üye dediğimizde ve bu üyelre  ait sayfalara anlık ortalama 100-200 online kişi girdiğinde db sürekli veri alacak veya güncellenecek bu şekilde mysql uçar. 
    Daha performanslı şekilde iplog nasıl tutabilirim. Bir yolu veya en iyi mantık bu diyebileceğiniz bir çözüm önerisi var mı ?


    Abure cubure subure dubure re re re tey tey tey
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fikibok
    KaptaN
    KaptaN's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 30/Ağustos/2005
    Erkek

    Sessionla kontrol et ip kayıt edilip edilmediğini.

     

    <?php

    session_start();

    if(!$_SESSION['kayit'] == 'kaydedildi'){

    kaydet($_SERVER['REMOTE_ADDR']);//buraya artik kaydet fonksiyonu neyse o olur

    }

    ?>

     

    buna benzer bir şey yapman gerekecek çok zor bir şey değil.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ersn
    ersn's avatar
    Banlanmış Üye
    Kayıt Tarihi: 04/Ekim/2011
    Erkek

    http://www.dosya.tc/server37/GsaEOh/ip.rar.html


    küfrederiz villalara kulübeden
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    Hocam ipv4 olsa sorun yok aslında bi int alanda kolayca tutar, sorgularsın ama ipv6 gelince 40 karakter string alan ayırmak gerekiyor. Iot falan da düşünüp ip boyutunu baya genişlettiler çünkü yani sen yine string tutacan o ip yi


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WildWamqire
    WildWamqire's avatar
    Kayıt Tarihi: 06/Mart/2011
    Erkek
    $ip_ip = GetIP();
    @preg_match('@^(?:http://)?([^/]+)@i', $_SERVER['HTTP_REFERER'], $matches);
    $ip_host = $matches[1];;
    if(!$ip_host){$ihost = 'Direct Erişim';}else{$ihost = $ip_host;}
    $ip_request = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    $ip_zaman=time();
    
    $sonuc=mysql_query("SELECT ip_id,ip_ip FROM flatcast_ip_log where ip_ip= '$ip_ip' LIMIT 1"); 
    $varmi =mysql_num_rows($sonuc);
    if ($varmi == 0){
    
    $ekle = mysql_query("insert into flatcast_ip_log set
    		ip_ip= '$ip_ip',
    		ip_host= '$ihost',
    		ip_request= '$ip_request',
    		ip_zaman= '$ip_zaman',
    		ip_ban= 0 ");
    
     } else {
     $cikar = mysql_fetch_assoc($sonuc);
     $ipd = (int)$cikar['ip_id'];
     $guncelle = mysql_query("update  flatcast_ip_log set ip_zaman= '$ip_zaman',ip_host= '$ihost',ip_request= '$ip_request' where ip_id='$ipd'");
     }
    	


     Şimdi hocalar ben bu kodu kullanıyorum kullanacagım sistem mysql db altında olacak ben perofrmans sıkıntısı çekmemek için en baştan önlemini almak istiyorum.

    Bunu daha iyi bir hale getirebilirim.


    Abure cubure subure dubure re re re tey tey tey
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nurulmac11
    nurulmac11's avatar
    Kayıt Tarihi: 04/Ağustos/2012
    Erkek
    WildWamqire bunu yazdı
    $ip_ip = GetIP();
    @preg_match('@^(?:http://)?([^/]+)@i', $_SERVER['HTTP_REFERER'], $matches);
    $ip_host = $matches[1];;
    if(!$ip_host){$ihost = 'Direct Erişim';}else{$ihost = $ip_host;}
    $ip_request = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    $ip_zaman=time();
    
    $sonuc=mysql_query("SELECT ip_id,ip_ip FROM flatcast_ip_log where ip_ip= '$ip_ip' LIMIT 1"); 
    $varmi =mysql_num_rows($sonuc);
    if ($varmi == 0){
    
    $ekle = mysql_query("insert into flatcast_ip_log set
    		ip_ip= '$ip_ip',
    		ip_host= '$ihost',
    		ip_request= '$ip_request',
    		ip_zaman= '$ip_zaman',
    		ip_ban= 0 ");
    
     } else {
     $cikar = mysql_fetch_assoc($sonuc);
     $ipd = (int)$cikar['ip_id'];
     $guncelle = mysql_query("update  flatcast_ip_log set ip_zaman= '$ip_zaman',ip_host= '$ihost',ip_request= '$ip_request' where ip_id='$ipd'");
     }
    	


     Şimdi hocalar ben bu kodu kullanıyorum kullanacagım sistem mysql db altında olacak ben perofrmans sıkıntısı çekmemek için en baştan önlemini almak istiyorum.

    Bunu daha iyi bir hale getirebilirim.


     replace kullanabilirsin.

    http://dev.mysql.com/doc/refman/5.0/en/replace.html


    black implies white, self implies other, life implies death.
Toplam Hit: 865 Toplam Mesaj: 6