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.