İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

Wordpress spam yorumları engelleme

Tek

0
İyinet Üyesi
Katılım
23 Şubat 2010
Mesajlar
489
Reaction score
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.
 
  • Like
Reactions: Eif

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.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst