【发布时间】:2017-09-24 07:07:12
【问题描述】:
我在 JSP 中为我们的客户构建了一个系统。现在我想在用户许可的情况下收集客户信息。以下信息将从我们的客户处获得。
1. UUID 2. Hard disk serial number 3.Ip Address 4. MAC ADdress 5.PC AND OS info
目前这是通过 activeX 对象完成的。但是这个系统只能在internet explorer 浏览器中运行。我想更改系统,使其独立于浏览器。
我想到了几种架构。让我简要讨论一下这些架构:
第一个架构(通过 JavaScript):
当客户访问我们的网页时,将打开一个弹出窗口,说明 “你允许运行这个脚本吗?”。如果用户允许,则脚本将驻留在客户端 pc 中。该脚本将负责获取有关客户端 pc 的信息并将信息发送到我们的服务器。 您始终可以认为客户端将授予运行脚本的权限,因为我们将指示我们的客户端运行脚本。
第二个架构(通过 jar 文件)
一个 jar 文件将驻留在每个客户端 PC 中。该文件将负责从客户端 pc 获取信息并将信息发送到我们的服务器。每个客户都将获得一个软件。安装该软件后,将安装 jre,并且 jar 文件将驻留在特定目录中。 另一种将 jar 文件驻留在客户端 pc 中的方法,当客户端访问我们的 web 应用程序时,是否可以将 jar 文件推送到客户端 pc?我们希望得到他们的许可。
第三种架构(通过 dll 文件):
用 C# 编写的 dll 文件将驻留在客户端 pc 中。此 dll 文件将负责从客户端 pc 获取信息。当客户第一次访问我们的 web 应用程序时,他们会询问是否要授予他们运行 dll 的权限?如果他们给予许可,那么dll文件将保存在客户端电脑上,并负责提供客户端电脑的信息。
上述架构是否有意义?你能告诉我上述架构的一些优点和缺点吗?如果上述架构/方法无法完成我必须完成的任务,我可以采取哪些步骤来获取客户信息?
我在 google 中对这个主题进行了很多研究。我了解到现代浏览器限制从客户端获取信息。但我想在获得客户宝贵许可的情况下获得客户信息。
我尝试过的:
我尝试过使用几个 js 库来做到这一点,例如 clientjs 、 nodejs 。但是clientjs不能给出一些信息,比如UUID,硬盘序列号。我编写了一个 java 代码(桌面环境),它可以获取 pc 的所有信息。但我不能从我的 jsp 页面调用此代码。我还能够编写一个可以输出客户信息的 C# 代码。但我不能从我的 jsp 页面调用它。
最后一点:
希望我想告诉每个人都清楚。请帮助我完成这项任务,或者至少给我一些想法/建议,告诉我该怎么做!
最后要提醒大家的是,我们的系统正在收集使用 ActiveX 的用户的信息。这只是 IE 绑定的。我只想做到独立于浏览器。
【问题讨论】:
标签: javascript java c# jsp dll