gpt4 book ai didi

php - 保护可在本地部署的 PHP/k8s 应用程序

转载 作者:行者123 更新时间:2023-12-02 12:13:55 24 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

2年前关闭。




Improve this question




我在一家公司工作,我们用 PHP/MySQL/Redis/JS 堆栈构建了一个 SaaS 应用程序。

它作为我们客户的托管/托管服务在我们自己的 Google Kubernetes Engine 中运行。

我们的大部分业务逻辑都放在 PHP 层。

现在我们希望将我们的产品作为本地解决方案提供,以便我们的客户可以将整个产品部署在他们自己的私有(private)云中,甚至可能部署在他们自己的地下室中。

这也意味着客户可以访问我们所有的“商业 secret ”(商业逻辑),这让我很担心。
我们是一家小企业,我们正在与大公司做生意。他们中的一些人可能对做我们自己做的事情感兴趣。

PHP 没有被编译,我发现的混淆器似乎并没有过多地混淆代码。

我们讨论了以下解决方案:

  • 相信客户不会复制/从我们的解决方案中获得灵感,只通过法律/契约(Contract)来保护它
  • 将我们逻辑的一些重要部分移动到我们自己的服务器上,有时让本地解决方案调用我们的服务器。这样我们可以控制许可等。但我们担心客户会说它不是完全在本地。这是真的。
  • 尽我们所能混淆它并希望最好。也许我们只是偏执狂?
  • 做一些事情,让客户可以在他们的私有(private)云中运行代码而无需访问源代码——我们已经研究了谷歌云市场,但据我所知,客户可以访问虚拟机。

  • 您在这方面有什么好的意见吗?
    我们正在寻找创造性的解决方案。主要目标是保护我们的业务。

    如果我们可以将我们的 Kubernetes 设置作为完全本地解决方案提供,那将是最好的,但如果您对我们如何将其提供给客户的私有(private)云(即使仅在 GCP 中)有很好的想法,这也是非常受欢迎的。

    提前致谢!

    最佳答案

    您的问题与 IP 相关,而不是与 k8s 和云相关。

    解决方案是:

    信任和开源

    1. Trust the customers to not copy/get inspired by our solution and only protect it through law/contracts


    你说的对。而且有一种力量。

    “The best way to find out if you can trust somebody is to trust them.” ― Ernest Hemingway



    您可以选择适当的许可证并将您的应用程序提供给客户。
    this answer :

    Some parts of a EULA that come to mind:

    • Limiting your liability if the product has bugs or causes damage.
    • Spelling out how the customer can use their licensed software, for how long, on how many machines, with or without redistribution rights, etc.
    • Giving you rights to audit their site, so you can enforce the licenses.
    • What happens if they violate the EULA, e.g. they lose their privilege to use your software.

    You should consult a legal professional to prepare a commercial EULA.



    非高级

    1. Move some vital parts of our logic to our own server and make the on-prem solutions call to our server sometimes. This way we can control licensing etc. But we fear that the customers then will say that it is not totally on-prem. Which is true.


    不是最好的解决方案,因为它不是真正的本地。
    您客户的服务器可能位于防火墙下的安全区域,无法访问您的服务器。

    无论如何,这是流行的解决方案。
    例如,查看 Vepp作品。

    1. Obfuscate it the best we can and hope for the best. Maybe we are just paranoid?


    解决方案是:
  • ionCube PHP Encoder
  • SourceGuardian
  • Thicket Obfuscator for PHP通过语义设计
  • Zend Guard

  • 有一些 php 驱动的自托管应用程序的重要示例。
    IE。 Self-hosted Bitrix24

    带加密的私有(private)云

    1. Do something that makes it possible for the clients to run the code in their private cloud without accessing the source code - we have looked into Google Cloud Marketplace, but as far as I can see, the clients will get access to the VM.


    是的,您可以将您的应用程序作为加密虚拟机分发。
  • VirtualBox:安装Oracle VM VirtualBox Extension Pack并启用磁盘加密
  • VMWare-vSphere 可以使用virtual machine encryption从 v6.5
  • AWS , GCP , Azure支持对您的数据进行加密。如果您的客户同意云托管,它可能会起作用。
  • 关于php - 保护可在本地部署的 PHP/k8s 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59410039/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com