-1

我需要知道过去是否已支付安装费用,以便提供一些高级功能。

在 indexeddb 或文件系统中存储支付标志听起来很容易被击败。定期询问服务器并缓存响应可以解决问题,但我想用户必须始终登录(通过谷歌或其他方式),我宁愿不施加这种限制。

也许如果有一种方法可以唯一地识别用户的机器(uuid、mac 地址等),可以让我确定他们是否已经付款?

4

2 回答 2

0

uuid,mac地址等所有方法都可以轻松伪造imo。我认为您无法逃避跟踪用户的登录状态。实现类似基于 cookie 的机制将是正确的方法。

于 2013-07-28T00:53:25.423 回答
0

最终,这是客户端 JavaScript。您可以阻止使用某些功能的唯一方法是将它们放在您的服务器上并为服务收费。

一些阻止访问的弱方法包括许可证验证,以及向服务器询问非必要信息(如果是必要的,请参见上文)。

对于许可证验证,您可以创建一个算法,从用户那里获取数据并将其转换为其他内容。例如,假设他们在您的网站上创建了一个帐户,您的服务器知道该帐户是“专业”帐户。然后,您可以获取他们的名字和电子邮件地址并对其进行一些魔术。

这是一个简单的例子,它接受这些输入并给我们一个键。在这个例子中,如果我们的名字是“John”,我们的电子邮件是“john@domain.org”,那么我们的键是fcumnflqjpBfqockp0qtifcufLqjp. 然而,托尼通过电子邮件“tony@doman.org”会收到fcumnfvqp{Bfqockp0qtifcufVqp{

您可以将此密钥发送给用户,并让您的代码决定是否可以通过应用反向算法来提取姓名和电子邮件。

您可以反转字符串,进行各种位数学运算等。它是默默无闻的安全性。除了帐户,这是最常见的方法。几乎所有离线软件都使用它。它的氪石是密钥生成器,它对你的代码进行逆向工程,并通过你用来验证它们的算法生成密钥。

于 2013-07-28T01:54:07.643 回答