【问题标题】:Best place to store the trial data for the web application为 Web 应用程序存储试用数据的最佳位置
【发布时间】:2014-01-05 15:11:21
【问题描述】:

在阅读了很多关于如何为桌面软件设计试用版的 SO 主题之后,我仍然对 Web 应用程序的试用版有一些疑问。

我有一个 ASP.Net MVC Web 应用程序,我为此提供了限时试用。 该应用程序将在 IIS > 7.0 中运行,因此它对系统的访问非常有限,这就是为什么没有很多地方可以存储有关剩余试用版的信息。

我并不是想让我的软件“无法破解”,但对于普通用户来说,如何重置试用版并不明显,因此我希望至少将试用版数据存储在 两个 地点。

到目前为止,我已经找到了两个存储信息的地方:

1) 在CurrentUser 下的注册表中。运行我的网络应用程序的用户将始终拥有此密钥的写入权限。

2) WebApp 用户的 AppData 文件夹。它也应该可以访问,但我找不到确定此文件夹路径的安全方法(请参阅my question

问题:存储网络应用程序试用信息的最佳或最佳位置是什么?

谢谢

【问题讨论】:

  • 您不使用数据库是否有令人信服的理由?
  • “试用版”如何变成“活跃”版?某物的存在是否使它成为一种试验?如果是这样,我建议将其更改为缺少某些东西使其成为试用版。所以假设一切都是“试用”,除非存在“解锁钥匙”或其他东西。
  • @MichaelPerrenoud 我的应用程序将使用数据库,但重新安装应用程序并删除数据库也会擦除试用信息,这是我试图避免的事情
  • @VladL,我相信要回答这个问题,社区需要更多信息了解客户如何获得试用。换句话说,如果他们得到自己的数据库,怎么办?他们是否有自己的子域,因此部署到 IIS?简而言之,我们没有足够的信息来真正了解您的架构。
  • 为什么不在他们注册时提供一个包含到期日期的试用许可证密钥?您似乎已经进行了密钥检查和生成,更进一步并提供试用密钥。检查钥匙时,拉出有效期。这并不能阻止重置系统时钟,但这是一个完全不同的蜡球。当他们选择升级时,他们会更新配置文件中的密钥。如果他们不这样做,那么即使他们卸载/重新安装,您的软件也无法使用过期的试用密钥。

标签: c# asp.net asp.net-mvc permissions trial


【解决方案1】:

我做了一些评论,有几篇文章提供了一些关于创建试用软件版本的信息:

http://www.codeproject.com/Articles/473278/Creating-Secure-Trial-Versions-for-NET-Application

http://www.codeproject.com/Articles/398130/Software-Copy-Protection-for-Net-Applications-a-Tu

这些都针对实际的 Windows 窗体应用程序,但有关系统时钟操作等方面的概念和想法可能有助于激发您和您的开发团队的一些想法。基本上,没有万无一失的方法可以防止有人试图智取您的保护。就像你说的,你不是要让这种黑客攻击,只是让人们诚实。

无论你走哪条路,你和你的公司都需要问问自己,你会在哪里失去更多收入:1) 有人偷了你的应用,或者 2) 试验因过度热衷 DRM 而失败。我怀疑在大多数情况下(除非您是游戏制作者),#2 才是更大的问题。

【讨论】:

    猜你喜欢
    • 2013-06-02
    • 2014-11-20
    • 2012-08-05
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多