WordPress:Spam Yorumları Otomatik Olarak Çöp Kutusuna Gönderme

Bloglarımızda en sık karşılaştığımız sorunlardan birisidir spam yorumlar. Ancak WordPress’de bunun önüne geçmek için akismet tarzı eklentiler kullanılıyor. Bu tür eklentiler yorumları filtreleyip yorumların içindeki kelimelere göre içlerinden spam olanları çekip alıyor. Şimdi değineceğimiz konu ise bu yorumlar geldiğinde akismete veya diğer filtreleme eklentilerine devretmek yerine WordPress’in yeni özelliği “çöp” kutusuna direkt göndermekle ilgili olacak. Çöp kutusuna gönderme işin içine girince ekstra bir eklenti kurmaya da gerek kalmıyor. Çalışma mantığı olarak da belli kelimelerin bulunduğu bir havuzumuz var. Gelen yorumlar bu havuzdaki kelime veya kelime grupları ile karşılaştırılıyor. Eğer havuzdaki kelimelerden birisi kullanılmışsa hemen yorum çöpe atılıyor. Şimdi kodumuzu görelim ve ondan sonra birkaç noktaya daha değinelim.

Kodu temamızın foksiyon dosyası olan functions.php dosyasına ekliyoruz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
function in_comment_post_like($string, $array) {
	foreach($array as $ref) { if(strstr($string, $ref)) { return true; } }
	return false;
}
function drop_bad_comments() {
	if (!empty($_POST['comment'])) {
		$post_comment_content = $_POST['comment'];
		$lower_case_comment = strtolower($_POST['comment']);
		$bad_comment_content = array(
			'viagra',
			'hydrocodone',
			'hair loss',
			'[url=http',
			'[link=http',
			'xanax',
			'tramadol',
			'russian girls',
			'russian brides',
			'lorazepam',
			'adderall',
			'dexadrine',
			'no prescription',
			'oxycontin',
			'without a prescription',
			'sex pics',
			'family incest',
			'online casinos',
			'online dating',
			'cialis',
			'best forex',
			'amoxicillin'
		);
		if (in_comment_post_like($lower_case_comment, $bad_comment_content)) {
			$comment_box_text = wordwrap(trim($post_comment_content), 80, "\n  ", true);
			$txtdrop = fopen('/var/log/httpd/wp_post-logger/nullamatix.com-text-area_dropped.txt', 'a');
			fwrite($txtdrop, "  --------------\n  [COMMENT] = " . $post_comment_content . "\n  --------------\n");
			fwrite($txtdrop, "  [SOURCE_IP] = " . $_SERVER['REMOTE_ADDR'] . " @ " . date("F j, Y, g:i a") . "\n");
			fwrite($txtdrop, "  [USERAGENT] = " . $_SERVER['HTTP_USER_AGENT'] . "\n");
			fwrite($txtdrop, "  [REFERER  ] = " . $_SERVER['HTTP_REFERER'] . "\n");
			fwrite($txtdrop, "  [FILE_NAME] = " . $_SERVER['SCRIPT_NAME'] . " - [REQ_URI] = " . $_SERVER['REQUEST_URI'] . "\n");
			fwrite($txtdrop, '--------------**********------------------'."\n");
			header("HTTP/1.1 406 Not Acceptable");
			header("Status: 406 Not Acceptable");
			header("Connection: Close");
			wp_die( __('bang bang.') );
		}
	}
}
add_action('init', 'drop_bad_comments');

Fonksiyonda kelime havuzumuz 10. satırdaki ilaç markası ile başlıyor (direkt ilaç ismini yazmama sebebim Google aramalarında o ilaçla ilgili aramalarda blogumun listelenecek olması ve gerçekten bunu hiçbirimiz istemeyiz). Eklemek istediğimiz kelime veya kelime grupları varsa onları da aynı havuzdaki biçimde yani ‘kelime’; şeklinde araya sıkıştırmak yeterli olacaktır 🙂 Bu fonksiyonu ayrıca istemediğimiz bir yazıya gelen yorumları elemek için de kullanabiliriz. Mesela blogumda çok önceleri yazdığım msn şifresi ile ilgili bir yazı var. Bunu tamamen eğlenci amaçlı yazmıştım anca sonraları google aramalarında ilk sıralarda çıktı. Ve ardından hergün bu konuyla ilgili onlarca yorum silmek zorunda kaldım. Ben buna çözüm olarak ‘msn şifre’ yazacağım havuza. Çünkü bu yazıya gelen yorumların çoğunluğu bu kelimeleri içeriyor. Otomatik olarak silinmiş olacak yorumlar. Ayrıca diğer küfürlü yorumlar için de kullanabileceğiz.

Yazının orjinal hali WpRecies‘de mevcuttur.

WordPress:Son Yorumları Gravatar İle Gösterme

WordPress blogların hemen hemen tamamında “son yorumlar” adında bir bölüm görüyoruz. Bu bölüm blog içerisinde yazı zamanı gözetmeksizin ziyaretçi tarafından en son yapılan yorumları gösterir. Genelde gördüklerimiz yorum yazarının adı ve yorum formatındadır. Ancak bazı temalarda bu formata ilave olarak resim, avatar da gösteriliyor. Özellikle özel temalarda bunu görmek mümkün. Görsel olarak çok güzel görünüyorve tabi anlaşılırlık olarak da aynı seviyede… Resimler ise Twitter veya Gravatar servislerinde belirlenmiş profil reimlerinden alınıyor. Bu yazımızda Gravatar’dan alınan küçük resimlerle bunun nasıl yapılacağına bakacağız. Aslında çok basit bir kod yığınından faydalanıyoruz bunu yaparken.

Aşağıdaki kodu temamızın “sibebar.php” veya başka göstermek istediğimiz bir yer varsa oraya kopyalıyoruz.

<?php
$query = "SELECT * from $wpdb->comments WHERE comment_approved= '1'
ORDER BY comment_date DESC LIMIT 0 ,5";
$comments = $wpdb->get_results($query);
 
if ($comments) {
    echo '<ul>';
    foreach ($comments as $comment) {
        $url = '<a href="'. get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID .'" title="'.$comment->comment_author .' | '.get_the_title($comment->comment_post_ID).'">';
        echo '<li>';
        echo '<div class="img">';
        echo $url;
        echo get_avatar( $comment->comment_author_email, $img_w);
        echo '</a></div>';
 
        echo '<div class="txt">Par: ';
        echo $url;
        echo $comment->comment_author;
        echo '</a></div>';
        echo '</li>';
    }
    echo '</ul>';
}
?>

Yazının aslı ve kaynağı Wp Recipes‘dir.

WordPress:Yorum Formunda HTML Etiket Kullanımını Engelleme

Blogların en can alıcı noktalarından birisi yorumlardır kuşkusuz. WordPress bloglarında da diğer bloglar gibi yorumlar mevcuttur. Hatta gelişmiş özellikler de sunabilir. Bunlardan birisi HTML etiketlerinin kullanılmasıdır. HTML etiketleri de yorum içinde link verme, resim gösterme, kalın veya italik yazı yazma gibi bazı özellikler sunuyor. Ancak bir durum da var ki bu etiketler açık olduğu taktirde spam mesajların da vazgeçilmezi durumuna geliyor. Spam mesajlar için her ne kadar eklentiler bulunsa da tam istenilen sonuçlara ulaşılamıyor. Örneğin Akismet’de bazı spam olmayan yorumlar da spam olarak alglanıyor ve silme işleminde kurunun yanında yaş da yanar misali siliniyorlar. HTML etiketleri kaldırdığımız taktirde bunların tamamen olmasa da bir miktar önüne geçmiş oluyoruz.

HTML etiketlerini kaldırmak için temamızın functions.php dosyasına aşağıdaki kodu dahil ediyoruz:

// This will occur when the comment is posted
function plc_comment_post( $incoming_comment ) {
// convert everything in a comment to display literally
$incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);
// the one exception is single quotes, which cannot be #039; because WordPress marks it as spam
$incoming_comment['comment_content'] = str_replace( "'", '&amp;apos;', $incoming_comment['comment_content'] );
return( $incoming_comment );
}
// This will occur before a comment is displayed
function plc_comment_display( $comment_to_display ) {
// Put the single quotes back in
$comment_to_display = str_replace( '&amp;apos;', "'", $comment_to_display );
return $comment_to_display;

Hepsi bu kadar. Yazının orjinali de burada yer almaktadır.

Facebook Paralı Olabilir

Küresel kriz her sektörde olduğu gibi internet sektöründe de kendini yavaş yavaş hissettirmeye başladı. Kriz ortamında olduğumuz için şirketler hakkında her gün yeni haberler veya söylentiler ortaya çıkıyor.  Krizin ilk çıktığı günlerde Google’ın Adsense’yi kapatacağı haberlerini bile duymuştuk. Son haberler ise Facebook‘un ücretli olabileceği yönünde.

Continue reading

Youtube Açıldı Açılmasına da…

Geçtiğimiz haftalarda video paylaşım sitesi Youtube daha önceki gibi Atatürk hakkında kötü içerik barındırdığı için kapatılmıştı. Son kapatmada IP engellendiği için OpenDNS ve diğer yöntemler de fayda etmedi proxy haricinde. Fakat bu son kapatma kararından sonra Türk internet kullanıcılarının da tepkisini çekti bu durum. Açılıyor, açıldıktan sadece birkaç hafta sonra tekrar kapatılıyor. Sonra yeniden açılıp yeniden kapatılıyor. internet kullanıcıları da anladı ki bu işin tadı artık kaçtı artık. Oydu buydu derken Youtube yeniden açıldı. Açıldı açılmasına da…

Continue reading

Ahmet Çakar’a Bikini de Pek Güzel Yakışır

Söylenecek çok fazla şey var aslında. Uzun bir aradan sonra Türk takımı yine Avrupa’da manşet oldu. Sevillalı kuzucuklar pek çok konuştu maç öncesinde. Hatta teknik direktörleri Fenerbahçe’nin oyununu beğenmemişti bile. Sonrasında takımın başkanı stadı bir cehenneme çevirmelerini istemiş taraftan. Yavaş, ne oluyor? Birçok Fenerli’nin düşündüğü gibi ben de Fenerbahçe’nin eleneceğini düşünmüştüm. Bu arada ben Beşiktaşlıyım en koyusundan. Ama ne fark eder ki? Fenerbaçe de bizim takımımız. Maç başldıktan sonra atmosfer güzeldi. Ama ardı ardına gelen goller acaba Sevilla farka mı gidecek diye yüreğimizi ağzımıza getirdi. Ama Allah’tan tam tersi oldu. Fenerbahçe toparlanıp golü buldu. Ve sonrasında hep bir umut vardı tur için. Heyecan dolu dakikaların ardından maçın kahramanı Volkan sahneye çıkıp penaltılarda rakibe nanik yaptı. Çok da hoş oldu. Biz bu günleri görmeyi çok özledik!

Continue reading

Söz Müzik Teoman ve Son Çıkan Albüm izlenimleri

Sıcak çikolatımı elime alıp yaptığım internet keyfi elbette müziksiz olmaz. Son bir haftadır müzik piyasası da oldukça hareketliyken ben de bir taraftan yeni albümleri ediniyorum. Çok verimli albümler çıktı. insana dinlerken büyük keyif veren mükemmel parçalar… Teoman, Gece Yolcuları, Badem ve diğerleri. Ben sadece dinleyebildiğim albümler hakkında fikrimi aktaracağım.

Continue reading

Alanya Trafiği mi?

Belediyemizin şimdiye kadar yaptığı icraatlardan oldukça memnunduk genel olarak. Ta ki bugün yaşadığım trafik rezaletine kadar. Alanya’da yaşayan canlar bilirler 25 metreli yol diye tabir edilen caddeyi. Alanya’nın en işlek caddelerinden birisidir hem yayacan hem de araç trafiği bakımından. Belediye de her sene olduğu gibi kaldırım çalışmaları, altyapı ve buna benzer sebeplerden dolayı caddenin bir bölümünü sanırım Şubat ayında kazdı ve yeniden kaldırımlar yapılmaya başlandı. Hala bu faaliyet devam etmekte. Ancak olan yine vatandaşa olmakta. ilk madur olanlar yayacanlar. Yayacanlar, yürüyecek yer bulamıyor çamurdan. Kaldırım yapılıyor lafta ama siz o yapılan kaldırımdan yürüdüğünüz zaman eve varana kadar ayakkabınızın içinden harfiyat kamyonundakinden birazcık az kum boşaltabilirsiniz. Şaka bir yana durum gerçekten çok ciddi. Aylardan Mayıs ve turizm sezonunun resmen açılmasına sayılı günler kaldı. Fakat biz turistleri bu sene pek de hoş karşılamayacak gibiyiz. Çamurlu bir yoldan hangi turist yürümek ister? Onu bıraktım hadi yürüdünüz diyelim. Yürürken de felaketlere maruz kalabilirsiniz. Giydiniz beyaz pantolonu, çektiniz üstüne pembe keten gömleği ve çıktınız yola. Tam işe giderken bir araba geldi çukura pat diye girdi ve etrafa çamur sıçradı. Bu durumda hiç kaçarınız yok, o çamur zerreciklerinden nasbinizi mutlaka alırsınız. Sonra sürücüye küfür edersiniz ancak suç onda değil ordan o şekilde geçmesine vesile olandadır.

Continue reading

Microsoft Cephesinde Son Durum

Daha önceki Windows sürümleri çıkmadan ortaya atılan iddialar ve okuduğumuz haberler ışığında biraz da olsa heyecana kapılırdık. Özellikle Windows Xp çıktığı zamanlarda “of süper olmuş” gibi lafları çokça dolandırdık dilimizde. Herkesin az çok haberi olmuştu çıkacağından. Hemen hemen herkes arıyordu Windows Xp’yi. Ve bundan beş ay önce Windows Vista çıktı olaylı bir şekilde. Fakat kimse aldırış etmemiş görünüyordu. Çoğu kişinin yeni işletim sisteminden haberi yokken birçok kişi de yeni işletim sistemi Vista’ya fazla donanım özellikleri istediği için geçmemeyi tercih ediyordu. Yani diğer sürümlerine göre daha az ilgi gördü ve oldukça fazla kan kaybetti. Peki geçen beş aylık süreçte ne oldu Vista’da? Microsoft cephesinde son durum nedir? Bu yazımızda biraz bunlara değinmeye çalışacağım.

Continue reading

TV Kanallarında Taklite Son Sürat Devam

Bundan birkaç hafta önce NTV’de yayınlanacak olan “Türk Mucitler” isimli mucidane programdan bahsetmiştim. Program başladı ve nihayetinde oldukça da ilgi gördü. Her yayınlanacağı zamanı Kurtlar Vadisi gibi takip eder oldum. NTV’yi de kendi içimde binlerce kez tebrik ettim böyle güzel bir programı düşünüp hayata geçirdikleri için. Yine tebrik etmekteyim çünkü taklitleri çıkıyor yakında piyasaya.

Continue reading