Mi sa che ciò che hai pensato è l'unica soluzione possibile.
Il php non può intercettare le azioni compiute dall'utente (come potrebbe fare js ad esempio).