Лучше всего сделать это на стороне сервера.
Как только метод в вашем контроллере или скрипте был вызван, установите переменную сеанса, сообщающую, что форма была отправлена.
Например,
<?php
session_start();
if (!isset($_SESSION['formclicked'])) {
$_SESSION['formclicked'] = true;
//now process form
}
?>
Таким образом, злоумышленник не сможет обойти проверку на стороне клиента