Я создаю простое веб-приложение с возможностью выбора голосов. Я планирую предлагать денежные вознаграждения за наиболее проголосовавших, поэтому я хочу относительно безопасную систему. У меня есть пара вопросов о концепции. Я знаю, что мой пост похож на несколько других, но никто, кажется, не достаточно определен для платформы, чтобы успокоить мой разум.Простая система голосования: как предотвратить дублирование голосов
Мое веб-приложение использует javascript и firebase для загрузки всех объектов, на которые проголосовали. Я собираюсь заставить пользователя войти в систему, и хранить IP-адреса, идентификаторы пользователей и т.д.
Вопросы:
- Является ли это принципиально ущербной с самого начала для использования JavaScript? Я вижу большой потенциал для написания сценария, который просто меняет ценности и переигрывает. (возможно, я могу проверить, что данные переднего конца верны и что пользователь существует с ajax-вызовом?)
- С шансом off-beat мое приложение становится успешным. Это будет слишком много вычислений на передней панели?
Edit: Мне очень жаль, но я ушел из ключевого факта, что у меня есть больше законченной системы (WordPress), который обрабатывает проверку подлинности. Приложение, над которым я работаю, в значительной степени независим от wordpress. Я просто извлекаю некоторую информацию о пользователях для целей фильтрации. Я выбрал Firebase в качестве хранилища для своих функций в реальном времени.
Я надеюсь, что для борьбы с мошенничеством избирателей с несколькими методами:
- низкие награды $ 100/месяц розданы.
- не входит в компромисс, я на самом деле хочу, чтобы пользователи регистрировались и проверялись с человеческими глазами, чтобы иметь право голоса. Другие могут засвидетельствовать конкурс, но не могут голосовать.
- серверные проверки. Если мое приложение получает популярность, я могу писать сценарии для отслеживания шаблонов голосования для нарушений? если кто-то злоупотребляет системой, я отключу их способность побеждать.
«Наличные вознаграждения» могут быть плохой идеей. Вы никогда, я не повторяю ** никогда **, чтобы быть в состоянии остановить людей от выхода и выкупить кучу прокси и виртуальных частных сетей для голосования. – mawburn
Это кажется ошибочным с самого начала. Безопасность не может быть гарантирована на стороне клиента. – andre
Как говорили другие, единственное, что полагается на JS для достижения этого, - это рецепт катастрофы. Вам понадобится включить некоторые серверные элементы. – Sethen