【发布时间】: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