ciao a tutti, spero di fare la domanda giusta nel posto giusto.
nel caso contrario chiedo venia.

ho una pagina aperta a tutti dove è possibile postare senza il ricaricamento della pagina

per farlo ovviamente ho usato ajax con metodo post.
(tenete presente che sono alle prime armi )

codice:
$(function() {	
	$("#messaggio").validate(
	{
		errorClass: "invalid",
		rules:
		{
			nome:{
				required: true,
				minlength: 4
				},
			mail: {
					required: true,
					email: true
				},
			testo_messaggio: "required"			
		},
		messages:
		{
			nome: "<span style='font:18px;'>*</span>",
			mail: "<span style='font:18px;'>*</span>",
			testo_messaggio: "<span style='font:18px;'>*</span>"
		},
		submitHandler: function (form) { /* gestore submit del form */
			/* eventuali controlli ... */
			$.post('process2.php', $("#messaggio").serialize(), function(data) {
					$('#esito').html(data);
			});
		}
	});
});
nella pagina PHP che riceve i dati faccio i seguenti controlli.

verifico il HTTP_REFERER (ma sul manuale dicono che alcuni user agent possono non compilarlo o modificarlo)

elimino tutti i caratteri che sono potenzialemnte dannosi e che potrebbero permettere SQL Injection (o almeno lo spero)

salvo in sessione l'ora e al richiamo della funzione verifico se è passato abbastanza tempo

domanda:

questi controlli sono inutili? cos'altro potrei verificare per essere sicuro o evitare problemi inattesi?

fino a che la pagina aveva pochi accessi/post (6 al mese circa..era praticamente per uso interno) non mi preoccupavo ma ora che la devo rifare in multilingua e (in teoria) gli accessi dovrebbero aumentare, e non vorrei trovarmi con una sorpresa inaspettata.

attendo fiducioso un vosto consiglio.