做了一些研究,发现了一些可能有用的东西。 我希望你对我的方法有所了解。
目标
我将用PHP开发一个应用程序(这是我所知道的唯一语言,不幸的是我现在没有时间学习另一个语言)。我希望这个应用程序能够脱机和本地运行到任何PC。我将使用Wamp服务器和cakePHP框架。
问题
此应用程序将出售。所以我需要一些激活方法来防止每个应用程序在多台计算机中使用。我不想要复杂或非常安全的东西。我只需要一些简单的东西,以防止非程序员在任何计算机上运行这个应用程序。当然,越安全越好! :)
我认为可能的解决方案
首先,我想通过在安装过程中联机来强制用户激活他们的应用程序。这样他们就可以从我的在线数据库中获得一个独特的KEY。
我找到了php的shell_exec命令。因此,我想在网上安装期间获取该计算机的主机ID(计算机ID),将其发送到我的服务器并将其存储到我的数据库旁边的唯一KEY。然后机器ID和唯一的KEY可以存储到php文件中。 (我可以将它存储在更安全的地方吗?也许加密它?)
每次用户打开应用程序时,php都会读取计算机ID。如果与存储在php文件中的文件不一样,则需要激活。 (也许可以存储计算机的名称或其他一些ID?)
这是一个好方法吗?会不可能?
我想到的另一种方法是让一个人创建一个非php安装文件。运行时,将提示wamp安装,安装完成后,将所有必要的文件传输到wamp根文件夹(用户自动化)。我只能猜测这会有效,因为我对其他语言的了解有限......
我可以在验证条款中从中受益吗?一个非php文件可以与我的php应用程序交互并验证它,只有一台独特的计算机吗?
任何信息都将非常感激。我刚刚开始构建应用程序,并想知道是否有一种好方法(或非方法)来保护它。
谢谢!
答案 0 :(得分:0)
所有这一切都没有意义,因为如果人们想要他们可以简单地破解你提出的任何复制保护方法。这也适用于使用任何其他语言编写的任何其他应用程序。如果人们想要在没有权限的情况下使用它,那么就有办法做到这一点。
有一些方法可以对代码进行模糊处理(请参阅Is there a code obfuscator for PHP?),但这些解决方案很愚蠢,因为如果人们真的希望他们能够以纯文本形式获取代码。
更好的想法可能是在您的服务器上运行该应用,并允许用户每月付费,像Google Apps for Business这样的软件即服务。