我的老板给我分配了一项任务,即研究如何保护在 .NET 中开发的基于 Web 的应用程序。根据协议,我们公司开发的产品是公司的资产,即使是非开发人员也可以访问代码。但是我的老板仍然想知道如何保护产品以防开发人员窃取代码并试图从他家中启动它?
请指导如何控制。
我的老板给我分配了一项任务,即研究如何保护在 .NET 中开发的基于 Web 的应用程序。根据协议,我们公司开发的产品是公司的资产,即使是非开发人员也可以访问代码。但是我的老板仍然想知道如何保护产品以防开发人员窃取代码并试图从他家中启动它?
请指导如何控制。
如果开发商有:
您无能为力 - 诸如混淆甚至代码保护之类的事情只有在编译器看到代码后才会启动。假设您将允许开发人员在他们的机器上编译完整的端到端代码,那么禁用通常可以用来防止客户窃取代码的任何东西并不难。
话虽如此,在基于 Web 的应用程序的情况下,您不会使用诸如混淆之类的东西作为第一道防线机制 - 仅作为(锡箔帽)深度防御,以抵御某人之后的反编译威胁已经破坏了您的站点并获得了您的程序集的副本。
归根结底,这就是为什么围绕此类内容的保护是用法律术语而不是计算机语言编写的。
(顺便说一句,这是这个问题的副本,它有一些很好的答案- 不幸的是,我只是在重新标记后才发现)
如果开发人员逐部分记住代码并在家里日复一日地重新键入会怎样。问你的老板,他会怎么做?像“黑衣人”那样重置开发者的记忆?哈哈。Shrinks 确实有一个医学术语来形容你老板的态度。
我的建议是:告诉老板放手,或者雇佣其他他可以信任的开发人员。
就在我的脑海中......撕掉他们所有的USB端口,CD ROM驱动器,并禁用他们的互联网。
您无法保护源代码。
任何称职的开发人员都知道如何复制他写的任何东西。他是成功的人,所以他可以再做一次。
您唯一能做的就是通过专利和版权合法地保护您的产品。
告诉你的老板相信他/她的开发者。并告诉他/她给开发人员好薪水。代码是由开发人员编写的,所以他们可以如何重写自己的代码。
合法化,这就是你所能做的。
通常这不是技术问题。您可以通过聘请律师来控制开发人员代码盗窃。
“保护”可再分发的 .NET 代码已经够难的了,但我认为(几乎)不可能保护代码免受您自己的开发人员的侵害。
更新: 为了挑战,这也是一个建设性的建议。像间谍网络一样组织开发人员——让他们根据商定的规范在不同的地理位置开发单独的模块,而您则充当信息中心。自己或在一位可信赖的人的帮助下集成模块。这样,没有一个开发人员拥有使应用程序“在家”工作的所有部分。
正确使用源代码控制软件(Visual Studio Team System 已内置)。然后,您应该知道谁拥有该代码。
这不会阻止任何人运行代码并分发它,但会让最后一次检查它的人对其下落负责。