我正在使用c#(VS2010 FrameWork:v4.0)和SqlServer 2012来构建应用程序。我在网上搜索,找到方法来防止复制这个系统,我认为唯一需要防止复制的部分是数据库。从复制保护Winform应用程序/ Sql数据库
我想你给我提供一些关于这个问题的建议。我需要了解以下答案/意见:
我是否也需要保护应用程序(可执行文件),从与数据库复制?如果是,这是否意味着如果用户丢失应用程序文件,我必须为用户提供一个新副本来安装它?
一个想法,我在我的脑海,保护DB是保存一些口令/密钥在DB(在VARBINARY的形式),并且在设备登录(运行应用程序)的应用程序检查设备的(MAC地址)是否保存,然后应用程序要求输入密钥。一旦使用密钥,设备的MAC地址将与密钥一起保存。这是一件正确的事情吗?有没有关于它的建议?
如果我需要保护应用程序部分不被复制,是否有任何想法如何做?
我也看到了有关客户端PC上安装的SQLExpress,并且应该保护数据库文件从操控,所以我必须要提供一种方法来升级在未来/更新数据库的脚本,而不是一个替代客户端的DB新的一个。我想在应用程序中提供一个由密码保护的窗体,并且我可以在窗体的文本框中编写脚本(__For Example:Alter Proc_ ...),然后保存它。我可以这样做吗?或者这将是一个愚蠢的事情吗?
在此先感谢
您的帖子中有很多流行语,但并不是一个真正适合的问题陈述。唯一相关的是_“防止复制这个系统”_。什么是“这个系统”?如果它是您在本地安装的应用程序和数据库,则您可以执行的操作很少。 – CodeCaster
是的,我的意思是** DB +应用程序在一起**,由* system *。保存密钥然后将它们与PC的MAC地址相关联的想法是正确的做法吗?但是如果我保存了数据库中的20个密钥并且我的客户端有21台个人电脑可以使用?请记住,这是一个** winform应用程序** *(它不在一个在线服务器上托管,它可能只用于本地网络)*。 – Shoshotto