Что делать с однотипными действиями пользователя?
Сохранять где-то время последнего действия пользователя, например в memcached (если есть), в базе, в сессии, в /tmp/ еще где-то.
При совершении действия проверять это время и если оно менее, например, 3 секунд, не выполнять его.
По хорошему в этом случае надо начинать показывать капчу.
Можно сделать лимит, по его исчерпании показывать капчу или просто отказывать, но учтите, что "умелец" еще может иметь много аккаунтов и IP-адресов, да и вообще любую защиту обойдет, если, конечно, сочтет это рентабельным и осилит.