Как сделать что бы один акаунт мог использоваться только с одного и того же устройства

Как сделать что бы один акаунт мог использоваться только с одного и того же устройства Есть сайт хочу ограничить возможность входа в него только определенным устройствам ( по ip не подойдет поскольку у некоторых они динамические). Сайт написан на php


Ответы (3 шт):

Автор решения: Redis

Попробуй добавить в ДБ новый столбик где например будет хеш рандомного числа (пример, можно хеш timestamp + соль(пароль пользователя)). И при авторизации хеш рандомного числа будет записывать в Cookie, и в строку с пользователям в БД. А потом проверять Cookie хеш рандомного числа и в строке.

→ Ссылка
Автор решения: Alexey Bril

Не совсем понимаю, зачем вам это нужно, но думаю что вам необходимо изучить вопрос цифрового отпечатка устройства (fingerprint)

Цифровой отпечаток устройства

Но вообще, это могут расценивать как нарушение конфиденциальности пользователя. Собрать фингерпринт браузера можно посредством js. Если не ошибаюсь, есть готовые библиотеки.

С ip,помимо той проблемы что описали вы, есть еще несколько. Например то, что с одного ip могут сидеть несколько разных устройств одного человека, или в принципе множество разных устройств. Например если все подключены к одному wifi.

→ Ссылка
Автор решения: Ипатьев

Чтобы "всегда с одного и того же устройства" - это в принципе нереализуемо, и надо забыть про такие фантазии.

Всё что можно сделать - это разлогинить автоматом все остальные клиенты, если пользователь зашёл с нового клиента. И кстати правильно говорить именно клиент. Потому что про устройства веб-сервер ничего не знает, и обращается к серверу именно клиент, а не "устройство".

А лучше всего задать вопрос воими словами, не употребляя непонятных для тебя терминов - какую задачу хочешь решить и зачем

→ Ссылка