搜索

首页  >  问答  >  正文

最佳解决方案:保护PHP代码而不加密

<p>首先,我并不寻求奇迹……我知道PHP的工作原理,也知道没有真正的方法可以在不使用加密的情况下隐藏我的代码。但这需要在运行服务器上安装一个扩展,这是有成本的。<br /><br />然而,我正在寻找一些不同的东西……我并不是在寻求加密我的代码,甚至不是混淆代码。有许多PHP脚本没有加密/混淆的代码,但它们是商业应用程序。例如,vBulletin和/或IP.Board论坛应用程序。<br /><br />我只是想知道这些人在他们的应用程序中使用了什么方法……<br /><br />我也对任何其他建议持开放态度。<br /><br />请注意,我是一个独立个人,不代表任何公司。我的产品也非常特定,销售量不会很高。我只是想让你们知道,我无法负担请律师起诉他人或准备商业许可证。我只是在寻找一种简单的方式来保护我的简单产品,如果可能的话……</p><p><br /></p>
P粉442576165P粉442576165478 天前569

全部回复(2)我来回复

  • P粉776412597

    P粉7764125972023-08-07 10:37:48

    您需要考虑您的目标:

    1)您是否试图防止他人阅读/修改您的代码?如果是的话,您将需要一个混淆/加密工具。我使用过Zend Guard取得了很好的效果。

    2)您是否试图防止未经授权的代码重新分发?EULA/专有许可证将赋予您法律权力来阻止这种行为,但实际上无法完全阻止。密钥/激活方案将允许您积极监控使用情况,但如果不对代码进行加密,这些方案可以被移除。Zend Guard还具有将特定脚本锁定到特定客户机器和/或创建时间限制版本的功能,如果这符合您的需求。

    我不熟悉vBulletin等软件,但他们要么需要加密/混淆,要么需要信任他们的用户做正确的事情。在后一种情况下,他们通过EULA禁止不希望出现的行为,并依靠法律系统来支持对EULA的违约行为进行追究。

    如果您没有准备/能力采取法律行动来保护您的软件,并且不想加密/混淆,您的选择是:a)发布带有EULA的软件,这样如果需要的话,您就有了法律选择,并希望一切顺利,或者b)考虑是否使用开源许可证可能更合适,允许重新分发。


    回复
    0
  • P粉011912640

    P粉0119126402023-08-07 09:00:04

    混淆事物只会给您合法、守法的客户带来不便,而那些可能欺骗您的人并不是您的目标付费客户。(编辑掉了关于混淆的其他想法)

    保护您的软件的另一个建议是:创建一个商业模式,其中代码是您提供的价值的不完整部分。例如,销售产品许可证,并提供对您在网站上管理的某些数据的访问,或者以订阅模式或客户支持的方式许可产品。

    设计用户许可协议(EULA)是一个法律问题,而不是编码问题。您可以从您使用的产品和网站的一些EULA文本开始阅读。您可能会发现一些有趣的细节!

    创建专有许可证非常灵活,可能超出了StackOverflow的预期范围,因为它不仅仅涉及编码。

    我想到的一些EULA的部分内容包括:

    如果产品存在错误或造成损害,限制您的责任。
    明确规定客户可以如何使用其许可的软件,使用多长时间,在多少台机器上使用,是否具有再分发权利等等。
    赋予您审核其网站的权利,以便您可以执行许可证。
    如果他们违反了EULA,例如他们失去了使用您软件的特权,将会发生什么。
    您应该咨询法律专业人士以准备商业EULA。

    编辑:如果这个项目无法证明请律师的费用,请查看以下资源:

    joelonsoftware上的“EULA建议”
    “如何编写最终用户许可协议”

    回复
    0
  • 取消回复