Уникальный идентификатор компьютера
есть приложение на Python и есть сервер, там уже всё на php.
Суть в том, что нужно как-то идентифицировать пользователя на сайте и в приложении, а потом всё это связать.
Человек скачивает на сайте, в бд заносится IP и дата
Пользователь устанавливает приложение и запускает его. При первом запуске отправляется запрос на сайт с IP адресом, полученным уже средствами Python, там идёт поиск по бд и если есть совпадение, то всё хорошо.
Но тут же есть и проблемы, человек может скачать приложение сегодня, а установить его через пару дней, что практически 100% означает то, что IP сменится.
Из чего сразу вытекает вопрос: Как идентифицировать человека в двух разных языках?
Была идея идентифицировать по материнской плате, но тут уже вопрос в том, а будет ли это идентификация? Как часто встречаются одинаковые платы?
В общем, идеи есть, но насколько они правильные - не знаю.
Ответы (1 шт):
Вариант №1:
import subprocess
current_machine_id = subprocess.check_output('wmic csproduct get uuid').decode().split('\n')[1].strip()
print(current_machine_id)
Это просто, но только для OS Windows
Вариант №2:
Создайте уникальный идентификатор не по определенному оборудованию, а по определенному алгоритму из совокупности железа пользователя, например:
mainboard + GPU + SSD
В этом случае совпадения и ошибки идентификации будут минимальны. Пример по SSD:
https://stackoverflow.com/questions/4193514/how-to-get-hard-disk-serial-number-using-python