Как ограничить возможность нажатия на кнопку до одного раза?
Привет. Я делаю страницу своего портфолио, где будут показываться preview проектов описание и на каждом будет кнопка like и рядом колличество лайков. В проекте использую, vue(vuex,vue-router,vue-resource) и firebase. Превьюшки показываются с помощью v-for, данные хранятся в json-не, в firebase. Так вот, в этом же Джейсоне храню колличество лайков которое естественно инкерментируется при нажатии и посылается в firebase. Вопрос: как ограничить колличество нажатия на кнопку до одного раза? Аутентификации нет и не будет. Как на мой джуниорский ум, идеального решения без использования аутентификации - нет. По IP не вариант, потому как может быть один внешний IP в каких то сетях, поправьте если не прав.
Мне на ум приходит только local storage, хотя понятное дело что можно открыть другой браузер или incognito. Либо вместо аутентификации позволить лайкать только после ввода email. Вряд ли кому то захочется по 10 раз вписывать какие то символы ради того что бы положить мне бесплатный аккаунт firebase.
да ни каких вариантов по сути нет, хочешь не хочешь, а хоть какую-то инфу идентифицирующую человека, все таки нужно сохранить на сервере, что бы различать что лайкнул петя, а не вася. вариаты с хранением инфы на клиенте имеют место быть, но только до первой очистки кэща, хранилища, кук, переусановки браузера, перезагрузки компа, ну вы поняли вобщем.
При первом клике removeEventListener и disabled на кнопку.
Конечно это не помешает злоумышленнику отправить сотни лайков напрямую, из консоли браузера.