Combata o miguxismo no seu blog com JavaScript
Eu tenho verdadeiro horror ao “miguxismo”, aquela mania besta que muitas pessoas têm de escrever na Internet como se fossem orangotangos retardados com mal de Parkinson batendo no teclado. Aberrações do tipo “fik” (que pode ser fica ou ficar, segundo pude investigar), “dik” (dica), “ksa” (casa), “aki” (aqui), “naum” (não) e muitas outras me põem maluco.
Deixar comentários com esse tipo de texto em um blog bem escrito é, acima de tudo, uma puta falta de sacanagem com quem se esforça para escrever direito, e me dá muita vontade de xingar muito no Twitter.
Para amenizar a raiva que passo diariamente moderando comentários de amebas antropomórficas que não respeitam as caixas de comentários alheias resolvi aplicar um “hack” bastante simples no WordPress, para evitar que este tipo de comentário seja enviado.
A ideia é simples: um script contém uma lista de palavras proibidas, e captura a submissão do formulário de comentários para verificar se alguma das palavras proibidas está contida no texto; em caso positivo o script emite um aviso ao comentador, e cancela a submissão dos dados para o servidor.
Para aplicar o “hack” é necessário editar o arquivo comments.php do tema em uso no WordPress, acrescentar umas poucas linhas de código e modificar uma outra. Vejamos.
Encontre no comments.php uma linha contendo o seguinte (dependendo do seu tema pode haver variações, por favor raciocine).
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
Substitua pelo que segue.
<script> function ValidaComentarios(F){ var Retorno = true; Comentario = F.comment.value.toLowerCase(); BadWords = ["achu", "axu", "com tigo", "dificel", "eh", "dis", "k", "q", "tipow", "kkk", "bj", "bjs", "aki", "naum", "nao", "tb", "td", "qd", "qr", "qt", "pq", "add", "pow", "kra", "fik", "dae", "dik", "vc", "eh", "saum", "taum", "voce", "ki", "nunk", "nunka"]; pt = '[^a-zA-ZÁ-öù-ÿ0-9]'; for (PalavraProibida in BadWords){ re = RegExp('(^|'+pt+')((' + BadWords[PalavraProibida] + ')s?)('+pt+'|$)', 'gi') if (re.test(Comentario)) { Retorno = false; alert("Seu comentário não foi aceito porque contém a palavra \"" + BadWords[PalavraProibida].toUpperCase() + "\". Corrija, por favor."); F.comment.focus(); break; } } return Retorno; } </script> <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform" onsubmit="return ValidaComentarios(this);">
O script é autoexplicativo, creio eu, podendo ser entendido até mesmo por quem não é programador.
Claro que se o miguxo além de retardado for mau caráter ele pode desabilitar o JavaScript no navegador para poder “trollar” o blog da gente. Nesse caso, recomendo que a mesma lista de palavras proibidas usada nesse script seja nformada na configuração do plugin NoSpamNX, sobre o qual já escrevi em WP: Acabe com os spams de comentários com o NoSpamNX.
Por fim, programadores mais experimentados ou dedicados podem conseguir em muito menos linhas de código fazer o que meu script faz, inclusive com mais eficiência (pois ele apenas testa substrings, e não palavras dentro do texto, por exemplo), ou mesmo transformá-lo num plugin ou script para uso geral, evitando que se tenha de “hackear” manualmente um arquivo do tema em ouso, ou permitindo que usuários de outras plataformas se beneficiem dele. A minha parte, contudo, já está feita.
Atualização: o script foi melhorado e agora usa uma Expressão Regular para identificar palavras em vez de meras “substrings”. Ou seja, se alguém quiser falar num comentário que comeu temaki não será mais barrado pela presença da partícula “aki” (aqui, em miguxês).
A nova versão do script pode ser encontrada (e testada) aqui: Abaixo o Miguxismo nos blogs!

Responder
Janio Sarmento respondeu em junho 8th, 2010 9:50 am:
Responder
Responder
Responder
Janio Sarmento respondeu em agosto 26th, 2010 7:48 pm:
Pelo visto é um miguxo se achando vitorioso na guerra contra o bom Português.
Aproveite seu gozo, pelo visto quem vai ter que mudar de País sou eu mesmo.
Responder