Интересно, не могли бы вы сделать это многошаговым процессом, чтобы сделать его более трудным для БОТов?
За регистрацию или аналогичное задание вы получаете Cookie-A, а затем, когда вы голосуете, вы получаете Cookie-B, но если у вас есть Cookie-B и у вас нет подходящего подходящего Cookie-A, ваш голос не сосчитать. Если вы попытаетесь повторно зарегистрироваться на том же компьютере, который может быть обнаружен у вас уже есть Cookie-A. Слишком быстрое выполнение шагов рассматривается как БОТ.
У нас был психометрический тест со многими вопросами, и пользователям приходилось вдумчиво отвечать. Ответ через N секунд был, когда кто-то просто нажимал кнопки, чтобы пройти через это. Мы никогда не говорили им, что их ответ был слишком быстрым, мы просто отметили данные как «подозрительные».
Так что любой, кто пытается перейти прямо к кнопке голосования, не будет работать. Им нужно будет выполнить Шаг-A, затем Шаг-b, затем Шаг-C по порядку.
Для повторного голосования мне нужно будет очистить куки, перерегистрировать, прочитать страницу объявления (что угодно) и, наконец, заново проголосовать, все в правильном порядке и не слишком быстро.
Может помочь требование включения JavaScript, как и системы Captcha. У капчи может быть какая-то задержка: «Пожалуйста, следите за появлением двух слов», чтобы два слова показывались одно за другим, но «настоящие слова», чтобы их можно было легко запомнить, а затем ввести. Любой ответ, который «слишком быстро» недопустимо.
В какой-то момент люди будут просто раздражаться и не беспокоиться.