Anti-spam plugin for WordPress

Публикувано от Труден на

МНОГО МРАЗЯ СПАМ!
Да-а-а…
И вие мразите СПАМ, ако не сте ГАДЕН, МРЪСЕН, ШИБАН СПАМЪР.

Преди няколко години, след неуспешни опити да спра шибаният, гаден мръсен СПАМ с общоизвестните анти-спам защити, реших да си направя собствена.
И си направих.
Truden Web Site е пазен от 2КВ код.
С малко по-малко пазя и този мой личен weblog.
Какъв е тарикатлъкът?
Ей сега ще ви кажа.

Първо да ви кажа, че излъгъх в заглавието. Не е plugin, но го излъгах с добри намерения и ви обещавам, че няма да съжалявате.

Почвам!
Ама първо да обясня, защо не е plugin.
Защото не знам някакъв начин с който да може да се закачи wp-comments-post.php към plugin.
А това е файлът, който пропуска СПАМ.
Ако може да се спре (не да се филтрира) автоматизирания СПАМ, то е само чрез този файл.
За целта трябва да се добаят няколко линии в него.

И така, пригответе си:

comments.php (в папката на вашата WordPress тема)
header.php (в папката на вашата WordPress тема)

ОТВОРЕТЕ comments.php в удобният ви текст едитор
Намерете <input name="submit" type="submit" "нещо друго според дизайна на темата ви">
Променете на: <input onmousedown="return trubar8()" name="submit" type="submit" "нещо друго според дизайна на темата ви">

Запазете и затворете файла.

ОТВОРЕТЕ header.php
Прекопирайте долния код и го внесете преди </head>

<script language="javascript" type="text/javascript">
<!--
function trubar8() {
document.cookie = 'TrBr=sucker; path=/'
}
//-->
</script>

ВАЖНО: Ако инсталацията ви е в sub folder (пр. /blog) в горния код трябва да добавите името на папката в която се намира WordPress.
Пр. path=/ ще стане path=/blog/, където blog e името на вашата папка.

Запазете и затворете файла.

Изтеглете този wp-comments-post.txt и го преименувайте на wp-comments-post.php
Направете резервно копие на оригиналния файл и качете този на негово място в основната папка.
Побързайте да качите и горните два променени файла на мястото им в папката на WP темата, която ползвате.

ГОТОВО!

Сега вече никой робот, ако ще и да си спука задника, не може да ви прати СПАМ.
НО!!! роботите спамват с trackback, а той минава през xmlrpc.php
Ако не държите да имате обратни (trackback) връзки към своите публикации, просто изключете тази възможност от административния си панел. Ако МНОГО са ви важни „коментарите“ в квадратни скоби, ще трябва да си държите Akismet включен.
Е, малко по-бавно се презарежда страницата с неговото ВНИМАТЕЛНО филтриране, но посетителите ви не псуват чак толкова много.

Как работи тази магия?

В header.php се вкарва javascript функция, която генерира бисквитки, при щракване на бутона, в който вкарваме код (comments.php) за извикване на функцията.
В wp-comments-post.php правим проверка за бисквитките и ако ги няма, значи е робот или потребител, който не е щракнал на бутона а е ползвал клавишът Tab за прехвърляне на фокуса и после е щракнал Enter. При това положение се появява страница с обяснение.
След всяка грешка, бисквитките се изтриват. Същото изтриване правим и след приемането на коментара.
Така бисквитките стоят в клиента само за по-малко от секунда.
Има допълнителен вариант за проверка, ако робота идва с готови бисквитки, но това не е нужно за сега.

Защо роботите не могат да минат през тази бариера (TruBar).
Щото са глупави.
Някои роботи могат да четат javascript, но трябва и да могат да го изпълняват, а не да го ползват информативно.
Не знам за робот, който може да имитира щракане с мишка, а точно това изисква скрипта.

Е ми, това е.
Аре, със здраве и без СПАМ.

П.П. Ако това ви харесва, може да ви кажа как да ползвате същия чалъм за предпазване от роботи, които се регистрират във вашия weblog.

Категории: Полезно

Труден

Роден: да, в Белене (Плевенско) | Местожителство: Зорница (Смолянско) | Възраст: зряла | Женен: щастливо за Анелия Енчева | Деца: Денислав и Надежда | Тъмно минало: комсомолски секретар, две сбивания | Светло бъдеще: закъснява

Запиши се за отговори
Уведоми ме за
guest
2 коментара
най-стари
най-нови най-гласувани
Мнения в полето
Виж всички коментари
Труден
09.07.2009 9:21

Пропуснах да ви кажа, че ако искате да направите защитата си още по-бетонна, може да промените името на файла (wp-comments-post.php), който ви предлагам за сваляне на нещо друго (пр. my-comments.php)
Значи променяте името и отваряте comments.php
НАМИРАТЕ в него: <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
и го променяте на
<form action="<?php echo get_option('siteurl'); ?>/my-comments.php" method="post" id="commentform">

ВАЖНО: ако направите тази промяна, ще трябва да променете името на оригиналния wp-comments-post.php на wp-comments-post.php.back, за да не може да се ползва от роботите.

агнеса
агнеса
03.05.2014 18:13

бутон за тровене на мейл ботове
tools.bl.ee/emails.php

2
0
Споделете своето мнениеx