itaeng

Un semplicissimo antispam con jQuery

Recentemente mi è capitato di dover implementare un semplice antispam su un mio sito, che riceveva quantità enormi di post spazzatura. Non volevo appesantire il tutto e non volevo usare script presi chissàddove, così, ricordando che la maggior parte dei bot non sa interpretare javascript, ho deciso di usare questo linguaggio come difesa; tantopiù che gli utenti senza javascript abilitato sono meno dell'1%, percentuale del tutto trascurabile (anzi, magari quell'1% è composto proprio dal bot :))

Per farla breve, ecco la ricetta del mio script:

Prima di tutto modifico l'action del mio form, da (per esempio) post/add a post/antispam_add

	<form action="/post/antispam_add" id="idDelMioForm" method="post">

Aggiungo un pizzico di jquery:

	$(document).ready(function(){
		$('.submit input').click(function() {
			action = $('#idDelMioForm').attr('action');
			newaction = action.replace('antispam_', '')
			$('#idDelMioForm').attr('action', newaction);
			return true;
		});
	})

Scritto... e filtrato!

Semplice, no? :) In questo modo non c'è bisogno di utilizzare orribili captcha, che sono l'antitesi dell'usabilità, l'utente non si accorge di nulla ed otteniamo un buon risultato... sperando che i bot continuino a non interpretare codice javascript :)