有没有办法在浏览器中运行的Flex应用程序中获取唯一的机器特定系统ID,以便可以用来确定机器是否获得运行应用程序的适当许可?
答案 0 :(得分:3)
我想不出任何基于用户机器或操作系统的方法。浏览器应用程序的重点是让它们能够随时随地通过浏览器运行。据我所知,Flash没有提供任何可以合理转换为唯一机器ID的信息用于许可目的,甚至不提供机器上网卡的MAC地址。
就我个人而言,我认为你最好不要求用户/密码让用户登录,然后使用存储在cookie中的会话密钥来允许用户跳过这一步(例如'记住我这个计算机'的功能类型,如GMail有)。这样做的好处是用户可以从他们喜欢的任何PC上运行应用程序。
答案 1 :(得分:2)
请阅读这篇文章......
http://blog.flexexamples.com/2007/11/01/creating-unique-identifiers-with-flex/
Just Chill .. !!!
答案 2 :(得分:2)
在flex
中创建UUIDimport mx.utils.UIDUtil;
var myUUID:string = UIDUtil.createUID();
我想如果你想变得非常聪明,你可以用本地已知的盐加密这个字符串并生成一些无法共享的加密许可证密钥。您可以定期更改盐或密钥以强制执行许可证到期。
您需要以某种方式管理后端的密钥数据。
答案 3 :(得分:2)
ILog Elixir这样做,但他们通过传统的安装过程来做到这一点。 swc文件带有水印,但是当您输入有效的序列号时,未标记的swc文件将被解锁并且源代码可用。
我没有任何关于他们如何实际去做的细节,但它不是直接通过flex。也许研究传统的软件安装过程并以这种方式解锁加密数据会产生您正在寻找的答案。
答案 4 :(得分:0)
您无法从Flex应用程序中真正访问特定于机器的信息,如MAC地址或其他ID。您应该使用其他一些技术,例如使用ASP.NET或JSP。