【问题标题】:Flex 4.5 - unique computer informationFlex 4.5 - 唯一的计算机信息
【发布时间】:2011-08-29 19:00:15
【问题描述】:

我正在开发一个基于 flex 4.5 Web 的应用程序,我需要确保如果客户端选择了特定级别的安全性,每个用户只能从授权计算机登录。

所以问题是我怎样才能获得一些独特的计算机信息?硬盘序列号、CPU 规格、主板信息,甚至登录到操作系统的用户都可以做到。

到目前为止,网络上的信息并没有给我很大的希望,但我不得不问。 提前致谢。

【问题讨论】:

    标签: apache-flex flex4.5 unique-key


    【解决方案1】:

    我想 Web 应用程序可用的唯一选项是从 flash.system.Capabilities class 的字段创建唯一 id。

    可以使用的其他策略是to generate unique UID在计算机授权过程中,然后使用SharedObject将其存储在本地存储中。然后网络应用程序尝试在网络应用程序启动时从SharedObject 读取授权数据。如果没有这样的数据计算机是没有授权的。

    【讨论】:

    • 嗯,也许有一些我不明白的地方,但是我怎样才能使生成的 UID 对每台机器都是唯一的呢?我的意思是,我试图通过简单地将 sharedobject 文件复制到另一台机器来实现一定程度的安全性。
    • 不,此建议不能阻止将共享对象简单地复制到另一台计算机。所以它无法阻止黑客。但是大多数最终用户对共享对象的本地存储一无所知。
    【解决方案2】:

    理查德是对的。为安全起见,通过 Flash Player 运行的应用程序没有唯一的识别信息。如果用户(及其 IT 管理员)允许,您可以编写 Active X 控件(用于 IE)或插件(用于基于 Mozilla 的浏览器)来获取应用程序的附加信息。可用信息会因用户运行的浏览器和操作系统而异。

    另一方面,Adobe Air 允许访问其他网络信息,包括 NetworkInfo 类中的 MAC 地址。也许值得考虑为需要额外安全性的用户安装客户端应用程序。看一看:http://www.adobe.com/devnet/air/flex/articles/retrieving_network_interfaces.html

    【讨论】:

      【解决方案3】:

      使用基于浏览器的 Flex 应用程序并不容易,但有一些解决方法。

      基于浏览器的 Flash Player 可以使用本地连接与桌面上的 AIR 应用程序进行通信。因此,您可以创建一个 AIR 应用程序,该应用程序利用 NativeProcess 来检索您的机器特定信息。

      您也可以在不使用浏览器的情况下从 AIR 应用程序中使用 NativeProcess。

      第三种选择是在客户端计算机上安装应用程序服务器,并让基于浏览器的应用程序与服务器通信以检索客户端信息。

      我认为这些选项中的大多数都很难实用,但这取决于此功能对您的重要性。

      【讨论】:

      • 我已经在考虑使用 Java 桌面应用程序来实现我的目标。我从来没有想过我可以使用 AIR 应用程序并感谢您的建议,因为使用 AIR 应用程序会改善用户体验(UI 一致性)。当我问我的问题时,我也希望有一个更简单的解决方案,因为下载和安装不必要的桌面应用程序是一项非常烦人的任务。谢谢你,祝你有美好的一天。
      【解决方案4】:

      Flash Player 安全沙箱不会让您读取任何有关运行 SWF 的系统的独特信息,因此恐怕这是不可能的。最接近的可能是 Capabilities.serverString 以及 IP 地址,但 serverString 属性只列出了客户端的所有 功能,这显然不是一个独特的东西,也可能会改变不时用于同一台计算机。

      【讨论】:

        【解决方案5】:

        警告:我对服务器端脚本的了解至少是有限的。 这不是技术解决方案,而是解决问题的不同方法。

        另一种解决方案是在服务器上检查原始数据包,以获取 IP 和 MAC 地址等数据。基于此,服务器可以拒绝或允许登录尝试。

        我习惯于在基于 C 的黑魔法相当普遍的微控制器上运行嵌入式 Web 服务器,因此我不确定这在更传统的环境中是否可行或实用。

        【讨论】:

          猜你喜欢
          • 2011-03-29
          • 2011-03-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-13
          相关资源
          最近更新 更多