• 30-10-2010, 00:40:06
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Son zamanlarda wordpress spam botlari ile bir cok siteler spam yorum botlari yuzunden caresiz kalabiliyor akismet eklentiside cogu zaman bir ise yaramiyor bunlar karsisinda..

    ilk basta ana dizimizde bulunan wp-comments.php dosyasini aciyoruz

    wp-comments-post.php
    wp_die( __('Error: please type a comment.') );
    hemen altina
    $url = trim(strip_tags($_POST['url']));
    if (eregi("http",$url) !== false) { die("Spama Hayir ikile bakalim");}
    if (eregi("www",$url) !== false) { die("hala sen burdamisin");}
    bunlari istedigimiz gibi cogaltiriz burdaki spam olayi yorum yapanin url adresi isim, mail, web adresi, webadresinden gelecek tum url leri yukardaki verdigim kodla engelliyebiliyoruz..

    Yok ben sadece belirledigim url leri yasaklamak istiyorum diyorsaniz. yukardaki kodda bulunan http ve www kisimlarini http://www.spamciadres.com seklinde degistirebilirsiniz.

    2.
    Yorum yapan kisinin(spamci botun) adini yasaklamak link kasmak icin mesala film izle, dizi izle, bedava indir gibi kullanici adlarini yasaklayabilirsiniz verecegim asagidaki kod ile asagidaki kodu aynen yukardaki ekledigimin kodun hemen altina ekleyiyoruz.

    $author = trim($_POST['author']);
    if (eregi("film izle",$author) !== false) { die("Spam Yapmak Yasak");}
    if (eregi("izle",$author) !== false) { die("Spam yapmak yasak");}
    Bu sekilde spam kullanici adlarini engellemis oluyoruz

    3.
    spam mail adresi ile yorum yapan spamci botlarin kullandigi email adreslerini yasaklama

    $email = trim($_POST['email']);
    if (eregi("mynet",$email) !== false) { die("Spam Yasak");}
    if (eregi(".ru",$email) !== false) { die("Spam Yasak");}
    Yukardaki mynet ve .ru istediginiz gibi duzenleyebilirsiniz yine bu koduda en son eklediigmiz kodlarin altina ekliyoruz.

    4.
    Yorum icerisindeki istemediginiz kelimeleri yasaklamak

    $comment = trim($_POST['comment']);
    if (eregi("www",$comment) !== false) { die("Get out baby");}
    if (eregi("<",$comment) !== false) { die("Spam yasak");}
    Kolay gelsin Spam botlara hayir

    if (eregi("<",$comment) !== false) { wp_redirect('http://www.google.com',301); die(); }
    seklinde degistirebilirizde

    Asagidaki verecegim bir fonksiyondur temanizin functions.php icerisine ?> oncesine ekleyiniz
    function yorum_degistirme($content) { 
    
    $banned_contents = "seninn|bilmemne.com|iframe"; 
    
    $patterns = explode("|", $banned_contents); 
    $sallabeni=$content; 
    $piece_front=""; 
    $piece_back=""; 
    $piece_replace="[B]****[/B]"; 
    
        for ($x=0; $x < count($patterns); $x++) { 
    
        $safety=0; 
    
            while(strstr(strtolower($sallabeni),strtolower($patterns[$x]))) { 
            # find & remove all occurrence 
            
            $safety=$safety+1; 
            if ($safety >= 100000) { break; } 
    
            $occ=strpos(strtolower($sallabeni),strtolower($patterns[$x])); 
            $piece_front=substr($sallabeni,0,$occ); 
            $piece_back=substr($sallabeni,($occ+strlen($patterns[$x]))); 
            $sallabeni=$piece_front . $piece_replace . $piece_back; 
            } # while 
            
        } 
        return $sallabeni; 
    } 
    add_filter('comment_text','yorum_degistirme');
    Bu fonksiyon ilede yorum lardaki istemediginiz kelimeleri *** yapabiliyorsunuz.
  • 30-10-2010, 00:41:55
    #2
    faydalı bilgiler..

    çok teşekkürler.
  • 30-10-2010, 00:43:19
    #3
    Üyeliği durduruldu
    tşkler dostum hemen deniyorum
  • 30-10-2010, 01:57:07
    #4
    güzel , çalışma teşekkürler
  • 30-10-2010, 02:01:25
    #5
    Üyeliği durduruldu
    wp admin panelinde tartışma ayarlarında istenmeyen kelimeler'e film izle 'yi ekleyerek de kurtulabilirsiniz
  • 30-10-2010, 12:40:29
    #6
    CakirTurk adlı üyeden alıntı: mesajı görüntüle
    wp admin panelinde tartışma ayarlarında istenmeyen kelimeler'e film izle 'yi ekleyerek de kurtulabilirsiniz
    Yukaridaki anlatiklarim sadece kelime yasaklamakmi?
  • 30-10-2010, 15:31:42
    #7
    Arkadaşlar ben denedim. spamı engelledi ancak Spama Hayir ikile bakalim çıktı ve sayfa aynen duruyor. Spam uyarısı ekrana gelsin mesela 4-5 saniye kalsın sonra konuya yönlensin ?

    Bunu nasıl yapabiliriz , teşekkürler
  • 30-10-2010, 15:42:38
    #8
    sadosan adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar ben denedim. spamı engelledi ancak Spama Hayir ikile bakalim çıktı ve sayfa aynen duruyor. Spam uyarısı ekrana gelsin mesela 4-5 saniye kalsın sonra konuya yönlensin ?

    Bunu nasıl yapabiliriz , teşekkürler
    { die("Spama Hayir ikile bakalim");}
    yukardakini asagidaki ile degistir

    { wp_redirect('http://www.siten.com',301); die(); }
    ana sayfana yonlenecektir.
  • 30-10-2010, 17:00:52
    #9
    akismet işe yaramıyor derken?