проверка — PHP Голосование — Отслеживание пользователя

Я внедряю систему голосования с использованием PHP и Javascript. Все работает хорошо, но у меня возникают проблемы с предотвращением людей несколько раз. Сейчас я использую куки, чтобы проверить, голосовал ли уже пользователь:

if(isset($_COOKIE['lastdate'])) {
$val = $_COOKIE['lastdate'];
if ($val == $today)
{
$voted = 1;
}
}

Это работает, но это уязвимо для людей, идущих инкогнито или переключающих браузеры / очищающих куки.

Почему я не использую IP-адрес? Поскольку мы используем этот сайт на работе, и все компьютеры подключаются к маршрутизатору, поэтому все IP-адреса одинаковы.

Вопрос в том, как я могу предотвратить множественное голосование, идентифицируя клиента, но без обычного IP-адреса и без использования какого-либо типа аутентификации / входа в систему?

0

Решение

К сожалению, без использования какой-либо формы аутентификации пользователь всегда сможет обойти вашу попытку заблокировать их.

Окно инкогнито удаляет все куки и создает новый сеанс — это означает, что у вас нет ничего, с чем можно идентифицировать этого пользователя. Добавление как файлов cookie, так и проверок сеансов уменьшит читерство, но на самом деле другого пути нет.

Я бы порекомендовал вход в один клик из социальных сетей, Обычно это хорошая смесь для пользователей — им не нужно регистрироваться, но они все равно входят в систему. Это означает, что они могли обмануть только несколько учетных записей в социальных сетях, что гораздо сложнее.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]