L'idea di base è contare tutte le immagini caricate in un determinato mese da un determinato utente, come:
SELECT COUNT(*) FROM `images` WHERE `user_name` = ? GROUP BY MONTH(`date`);
Se la query precedente restituisce 3
, puoi impedire il caricamento.