TransWikia.com

Кнопки "Вам понравилась статья - ДА - НЕТ"

Stack Overflow на русском Asked by user242682 on December 9, 2021

Суть такая нужны кнопки ДА и НЕТ в конце статьи отвечающие на вопрос Понравилась ли статья.

  1. При нажатии на кнопке ответ через AJAX сохраняется в БД в конкретной
    статье. В админке можно посмотреть сколько ДА и сколько НЕТ

  2. Для исключения многократного нажатия (накручивания счетчика) реализована индетефикация пользователя по IP.

    2.1. создана таблица в БД с тремя столбцами (user_ip, post_id и result)

    2.2. При заходе пользователя мы проверяем совпадает ли реальный IP пользователя и ID поста именно парой с тем что есть в БД если находим эту пару то закрашиваем кнопку того ответа который дал пользователь, но он может поменять свой ответ т.е. вторая кнопка не закрашена и кликабельна. Если не находим нужную пару то записываем данные в нашу таблицу в БД

Все работает нормально, есть только одно НО. IP пользователя величина очень не постоянная и может часто меняться особенно на мобильных как минимум при каждом подключении новый IP, бывает и чаще.

Отсюда вопрос как повысить точность определения (индетефикации) пользователя?

А иначе получается что один и тот же человек может довольно часто голосовать за одно и тоже просто меняя IP. Понятно что большинство специально так делать не будут, но даже не специально, возможно что человек заходит три дня подряд с мобильного с разных IP и и видит как будто он не голосовал и повторно голосует в надежде что его голос учтется, но он уже третий раз голосует.

One Answer

Повысить точность можно путём установки куки или записи в localStorage. Но это сработает при условии, что пользователь заходит с одного и того же устройства/браузера.

А вообще единственный способ избежать повторного голосования - это регистрация и аутентификация пользователя. Других вариантов нет - всё остальное можно при желании легко обойти.

Answered by humster_spb on December 9, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP