如何在 Web 应用程序开发中防止源代码被盗

信息安全 Web应用程序 源代码 drm
2021-09-02 17:26:00

我正在开发一个使用 PHP、SQL DB 和其他技术的 web 应用程序。我一直在考虑有人窃取源代码或将其用于其他方式。

如何防止他人窃取您的源代码?如果发生这种情况,您可以采取哪些安全措施以便稍后在法庭上证明该源代码是您的?

我知道您可以使用一些技术来防止和保护您的源代码,例如:

  1. 加密您的文件;
  2. 使用元数据为您的源代码添加水印;
  3. 让你所有的朋友知道你正在开发这个 webapp,这样你就有了不在场证明;

我想知道您如何正确保护您的源代码。您如何采取措施在法庭上证明该源代码是您的?

我不知道下一个问题是否非常适合这里,但我会试一试:如果有人窃取您的源代码,法院会接受哪些证据?我问这个是因为我知道在我的祖国葡萄牙,法院不能接受 Facebook 消息作为证据。

4个回答

这取决于您要保护代码的内容。

如果这是将在开发中使用(作为源代码)的代码,那么显然您无法保护任何东西。我的经验法则是,一个人可以看到任何东西,然后您就无法保护它(这延伸到您拍摄照片的所有类型的 DRM 保护文档,通过 OCR 和 poof 运行,DRM 就这样了)。

至于您是否可以在法庭上保护它,您需要询问了解您具体案件版权的律师。

如果您想共同开发但不需要共享源代码,您可以通过 API、共享库(可以进行逆向工程 - 再次询问您的律师这是否合法)或其他一些机制来工作使用代码的功能,而不是代码本身。

您如何采取措施在法庭上证明该源代码是您的?

在向任何人展示代码之前,将副本放入托管中。

当您建立合伙企业或雇用某人时,您可能会让他们签署一份声明,最好在证人面前签署,承认您对特定代码体的所有权。

该声明可能包括托管代码的哈希值或其他难以随后反驳的标识。

如前所述,如果您自愿向某人(共同开发人员或其他任何人)提供对代码的访问权限,则根本无法保护它。混淆只会减慢提取速度,如果您的第二方需要实际使用代码,您甚至不能使用它。

如果您正在谈论针对可以访问您的 web 应用程序的外部客户端保留您的代码,那么对于后端只需遵循将二进制文件/脚本存储在您的 web/应用程序服务器上用户可访问目录之外的最佳实践,并修补您的环境以防止漏洞。如果您的服务器设置正确,外部客户端应该只看到执行结果,而不是代码。

前端 JavaScript 代码 OTOH 根本无法保护。由于它是在客户端执行的,因此根据定义,您“自愿提供”源的完整副本以执行给客户端 - 正如已经说过的那样,这不能得到保护。

通常,只要内容完全传输到客户端,任何 DRM 系统都是无用的。“如果你能看到(听到、读到)它——你就可以复制它。” 确保任何权利的唯一途径是通过法律手段。

大多数时候,你实际上并没有编写任何新的东西,任何人都会费心去窃取,然后费力地使其适应自己的目标。但是,如果您这样做,只需将 UI 和其余的琐碎逻辑放在客户端,并将您的“诀窍”秘密核心保留在服务器上作为后端,您将非常安全。

加密您的 Visual Studio 源代码并保护其免受非法访问。允许开发人员在他们的位置使用加密项目工作,以确保没有人未经授权获取代码。

您还可以让开发人员从头开始并在受保护模式下工作,以确保只有您从他们那里获得代码。