Трябва да проверите за поне една идентификационна характеристика на потребителя и да проверите дали той е изпратил оценка, преди да поднесете формуляра. Има различни начини, по които можете да направите това, всеки със собствените си слабости, така че е най-добре да смесвате и съчетавате, но някои от главата ми включват:
-
Проверка дали човек със същия IP и низ от потребителски агент не е подал най-висок резултат през последните x минути (въпреки че това може да попречи на изпращането на някои законни резултати - помислете за училище/офис, използващ същия браузър и същия IP)
-
Поставяне на проследяваща бисквитка при пристигането с идентифициращ потребителски идентификатор. След това проверявате, че потребителският идентификатор не е изпратил резултат през последните x минути. (напр. стартирайте PHP сесия, ако желаете)
-
Добавяне на бисквитка към браузъра след изпращане на резултата, след което проверка за тази бисквитка, преди да се обслужи формуляра (да, може лесно да се заобиколи чрез изтриване на бисквитката). Като алтернатива можете да зададете стойност в сесията)