• 22-12-2008, 22:38:33
    #1
    merhabalar, aranan kelimeleri sitemde etiket olarak kaydediyorum, fakat arama motoru botları gezdikleri bazı urlleri veritabanına kaydediyor bunu nasıl engelerim
    arama motoru botlarının gezerken db ye kaydettiği bazı site içi urllerin kelimesi

    arananları etiket olarak kaydettiğim kod:
    $kelime = mysql_real_escape_string($searchTerm);
            $sonuc = mysql_query("Select Count(kelime) From arananlar where kelime='$kelime'");
            $sayi = mysql_result($sonuc,0);
            $kelime=araz2($kelime);
    
            if($sayi ==0){
                    @mysql_query("Insert Into arananlar (kno, kelime) Values ('', '$kelime')");
    arama formum:

    </div>
       <div class="boxestext">
        <form action="<?php echo $siteurl; ?>/index.php?action=search" method="POST">
        <input type="text" name="t" maxlength="25" size="20"><br>
        <input type="submit" value="Ara">
        </form>
       </div>
     </div>
    php ci arkadaşlar bir el atarsa cok sevinirim.
  • 22-12-2008, 22:44:30
    #2
    if($sayi ==0){
    kısmını
    if ((eregi("google|yahoo|microsoft",$_SERVER['HTTP_USER_AGENT'])) && ($sayi ==0)) {

    olarak değiştirebilirsin.
  • 22-12-2008, 22:52:46
    #3
    bu sefer hic kaydetmiyor arananları, ayrıca genel olarak bütün botları bu şekilde engellemek istiyorum
  • 22-12-2008, 22:55:41
    #4
    pardon

    if ((!eregi("google|yahoo|microsoft",$_SERVER['HTTP_USER_AGENT'])) && ($sayi ==0)) {
    şeklinde olacak o satır.
    tüm botları algılaman çok zor. User-Agent http etiketinden anlayabiliyoruz bot olduğunu belirli olanlar varsa yukarıdaki gibi içinde google|yahoo|microsoft kelimeleri geçen şeklinde ekleyebilirsin.
  • 22-12-2008, 22:58:36
    #5
    hocam bu botları engellemenin başka yolu yokmu acaba seninde bildiğin üzere binlerce arama motoru botu var hepsi icin tek tek ayrı kod girersek vay halimize

    diğer arkadaşlarında cozum onerileri vardır umarım
  • 22-12-2008, 23:02:52
    #6
    haklısın hepsini algılaman çok zor. birde hostlarına whois çekip hostlarından anlayabilirsin o da çok çok çok uzun yöntem ama belki diğer arkadaşlarında yöntemleri vardır neyse kolay gelsin
  • 22-12-2008, 23:05:40
    #7
    Şimdi aklıma başka bir yöntem geldi. 200 tane botu tek tek tanımaktansa 3-4 browser'ı tanırsan kalanların bot olduğunu hesaba katarsak öbür yöntemden çok daha işlevsel olur.
  • 22-12-2008, 23:13:32
    #8
    Alıntı
    "GET /oyun-oyna/2144/getScores.php?random=95 HTTP/1.1" 404 46539 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    66.249.67.86 - - [31/Oct/2008:16:38:03 -0400] "GET /oyun-oyna/2144/getScores.php?random=8 HTTP/1.1" 404 46539 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    66.249.67.86
    gorduğun uzere googlebot firefox ile geliyor sayfaya msnbot ve yahoo botta internet explorer kullanıyordur
    ben bu tarayıcıları engellersem botları brakın kullanıcılar asıl girecek siteye
  • 22-12-2008, 23:16:48
    #9
    botlar öyle şey yapmaz.

    Firefox: Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
    Google Chrome: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.36 Safari/525.19
    Internet Explorer: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
    Googlebot: Mozilla/5.0 (compatible; Googlebot/2.1; +Verifying Googlebot - Webmaster Help Center)