从浏览器获取客户端UUID

问题描述

用户访问我的网站时,我想获取客户端UUID(用户的计算机UUID)。实际上,我将对用户可以下载的内容进行加密,并且该内容只能在我的应用程序中打开。在我的应用程序中,我正在运行时获取UUID并使用以下方法解密:

import pyro.distributions as dist

samples = dist.Beta(2,2).sample([200]) # Will draw 200 samples.

一切正常,现在唯一的限制是我找不到从我的网站获取客户端UUID的任何方法,因此我可以与应用程序知道的其他哈希一起加密并可以添加为salt并解密。我的网站ID是在Django上开发的。

注意

  • 用户将要下载.exe文件形式的应用程序,我可以在应用程序内部使用一些脚本将UUID发送到我的网站吗?
  • 我想我需要编写一些脚本供用户下载,并且该脚本将始终向我发送数据,然后我将允许用户下载,任何人都可以在这方面指导我?
  • 我知道您可以询问用户是否更改系统等。我现在只想获取UUID,我已经处理了其他事情。
  • 现在说我只想在Windows上工作,没有Linux或Mac用户

修改

有些人对UUID感到困惑,我的意思是某人正在访问我的网站的计算机的“通用唯一标识符”。

解决方法

这是不可能直接实现的,因为浏览器没有为此提供API。从Web扩展中也不能直接做到这一点。

由于您的用户已经安装了本机应用程序,因此可以使您的设置过程向ChromeFirefox注册本机消息传递主机。然后,您可以创建一个仅与您的网站一起使用的Web扩展程序,向本机应用程序查询主机的UUID,并将其传递到您的网站。