Modificações no Akismet
- Posted by acidx on January 12th, 2007 filed in akismet, geek, hack, programming, shell script, spam, wordpress
- Comment now »
Numa tentativa de melhorar o bloqueio de comment spam, fiz algumas modificações no plugin “Akismet” (excelente, aliás!) para o WordPress. A modificação consiste em adicionar uma nova tabela no banco de dados do WP:
create table wp_spammers (
spammer_ID integer not null auto_increment,
remoteAddr text,
primary key(spammer_ID)
);
E adicionar as seguintes linhas na função ksd_auto_check_comment() do akismet.php (wp-content/plugins/akismet/akismet.php), dentro do if (‘true’ == $response[1]):
global $wpdb;
$wpdb->query(“INSERT INTO wp_spammers (remoteAddr) VALUES (‘” . $comment['user_ip'] . “‘)”);
Isso irá adicionar uma entrada no banco de dados para cada spammer pego automaticamente pelo Akismet. Agora vem o truque: coloque esse shell script para rodar no cron. Modifique as variáveis no começo dele para suas configurações (nome de usuário do mysql, senha, nome do banco, etc). Eu o coloquei para rodar de hora em hora. Esse script irá ler essa tabela que acabamos de criar e adicionar entradas no /etc/hosts.deny, barrando completamente o acesso do spammer à sua máquina. Para que o arquivo não fique cada vez maior, ele adiciona a data e hora atual para cada entrada, e remove automaticamente as entradas com mais de um dia de idade.
Have fun! ![]()












Leave a Comment