带有许可证密钥的 Ioncube(不是许可证文件)
Posted
技术标签:
【中文标题】带有许可证密钥的 Ioncube(不是许可证文件)【英文标题】:Ioncube with license key (not license file) 【发布时间】:2018-09-01 22:20:46 【问题描述】:是否可以使用 ioncube 加密代码并以某种方式需要许可证密钥才能使用该 php 代码?
我已经在使用 ioncube,但现在我将它与许可证文件一起使用。在加密过程中我添加参数
--passphrase
但是,老实说,我不知道该怎么处理这个密码。
这里欢迎任何提示:)
附言
我有使用 ioncube 的计划,但如果无法使用 ioncube,请告诉我。
【问题讨论】:
mCrypt 似乎可以解决这个问题。比离子立方体好多了。这里有什么提示吗? Kolesar,你对 OP 的理解有误,mcrypt 没用。 【参考方案1】:外键可能就是您要找的。p>
首先,您引用的密码是用于许可文件的加密密钥的一部分,以及密钥的其他组件,即使其他人使用相同的密码,也可以防止其他人为您的代码生成有效的许可文件。它与代码保护无关。如果您有不同的产品,例如精简版和完整版,则不同的密码短语很有用。通过为每个产品使用不同的密码,它可以防止拥有精简版许可证的人使用从其他人那里获得的完整版许可证。
您还可以使用外部加密密钥(可以是文件、php.ini 设置或其他可能性)保护 ionCube 文件中的编译代码,这更接近您的想法。但是请记住,任何拥有密钥的人都可以运行代码,这意味着拥有密钥的用户可以在多个服务器上运行文件或将文件和密钥提供给其他任何人,这可能不是您想要的.外部密钥在有人想要在自己的服务器上加密文件并且他们可以使用权限以使具有非 root 访问权限的人(例如开发人员)无法访问密钥的情况下最有用。
许可证文件往往是最有用的,它们能够封装 IP、域和其他限制以及任意键/值属性,您可以通过 API 调用访问这些属性并在自己的代码中进行测试,这些属性可用于添加您自己的许可概念。
您还应该考虑对代码使用的保护级别,因为 100% 的代码保护是不可能的,并且任何保护方案都有可能被逆向工程。目前最好的方法是使用动态密钥,这是一种独特的机制,可以对编译后的代码进行加密,但不会将解密密钥存储在任何地方,因此如果试图破坏保护,将大大增加其他方法所需的工作量。
披露:我与 ionCube 有关。
【讨论】:
以上是关于带有许可证密钥的 Ioncube(不是许可证文件)的主要内容,如果未能解决你的问题,请参考以下文章
为啥arcgis10.3装好了打开时候显示许可证密钥和日期不匹配?