E se apre un'altra sessione nel browser ?

Basta ricavare la data è l'ora dell'ultimo messaggio dal db prima di inserire il nuovo. Se l'ora dell'ultimo è minore di tot secondi non lo inserisci e mandi un messaggio.
Se vuoi farlo ogni 3 messaggi è un po' più complicato ma fattibile con questo sistema.