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
hemen altina
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.
Bu sekilde spam kullanici adlarini engellemis oluyoruz
3.
spam mail adresi ile yorum yapan spamci botlarin kullandigi email adreslerini yasaklama
Yukardaki mynet ve .ru istediginiz gibi duzenleyebilirsiniz yine bu koduda en son eklediigmiz kodlarin altina ekliyoruz.
4.
Yorum icerisindeki istemediginiz kelimeleri yasaklamak
Kolay gelsin Spam botlara hayir
seklinde degistirebilirizde
Asagidaki verecegim bir fonksiyondur temanizin functions.php icerisine ?> oncesine ekleyiniz
Bu fonksiyon ilede yorum lardaki istemediginiz kelimeleri *** yapabiliyorsunuz.
ilk basta ana dizimizde bulunan wp-comments.php dosyasini aciyoruz
Kod:
wp-comments-post.php
Kod:
wp_die( __('Error: please type a comment.') );
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");}
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");}
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");}
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");}
Kod:
if (eregi("<",$comment) !== false) { wp_redirect('http://www.google.com',301); die(); }
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');