Wordpress spam yorumları engelleme

0
Onaylı Üye
Üye
Katılım
23 Şubat 2010
Mesajlar
489
Tepki puanı
14
Konum
Danimarka/Ankara
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



Kod:
wp-comments-post.php
Kod:
wp_die( __('Error: please type a comment.') );
hemen altina

Kod:
$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.



Kod:
$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



Kod:
$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



Kod:
$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



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



Asagidaki verecegim bir fonksiyondur temanizin functions.php icerisine ?> oncesine ekleyiniz

PHP:
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.
 
  • Beğen
Reactions: Eif
Geri
Üst