PHP CMS:安装时会进行各种“ Call Home”功能

|| 我正在开发一个Web应用程序,它将与生产站点的其他许可证一起免费下载以进行试用。我知道这些事情是令人讨厌的,但是我想在安装文件中加入一两行以将当前的安装URL保存回我的数据库,以便与付费用户进行交叉检查。我没有尝试验证许可证(但是),这些URL不会以任何方式使用,除非监视盗版。如果用户删除此代码或没有Internet连接(本地安装),则不会有错误。另外,出于法律原因,我会让用户了解EULA中的此功能。 那里的大多数回拨函数都使用
file_get_contents
,但是它们正在验证中,我只想存储一个URL。发送带有GET变量中转义的URL的请求是否可行?各种服务器设置上的安全性,速度和功能是关键。 也欢迎提出任何其他建议...我仍在尝试找出许可和“保护”该软件的最佳方法。 在此先感谢您的帮助!     
已邀请:
这是系统的一个相当简单的版本,但现在应该可以完成。它通过提供当前服务器的URL作为密钥来起作用,但是您可以将其交换为许可证的唯一ID。 对于CMS /应用程序:
<?php
define(\'SITE_INVALID\', \'invalid\');
define(\'AUTH_SITE\',    \'http://www.example.com/verify.php\');

function verify_install($key){
    $result = file_get_contents(AUTH_SITE.\'?key=\'.urlencode($key));

    if($result == SITE_INVALID){
        return false;
    }

    // Valid
    return true;
};
?>
然后在页面的某处(早期):
<?php
$site_key = $_SERVER[\'SERVER_NAME\'];    // Use current site URL (eg: www.example.com)

if(!verify_install($site_key)){
    // Invalid
    echo \'Your account is disabled\';
    exit();
}

// Continue as normal
?>
在许可证服务器上:
<?php
define(\'SITE_VALID\',    \'valid\');
define(\'SITE_INVALID\',  \'invalid\');

function verify_remote_install(){
    if(!isset($_GET[\'key\'])){
        // Nothing sent - assume fine
        return true;
    }

    $key = urldecode($_GET[\'key\']);

    // (Check if key in database, etc)
    $result = key_is_valid($key);   // Replace with your own method

    if(!$result){
        // Invalid
        return false;
    }

    // Valid
    return true;
}
?>
然后进行验证:
<?php
$result = verify_local_install();

if(!$result){
    echo SITE_INVALID;
} else {
    echo SITE_VALID;
}
?>
您需要用验证密钥的方法替换“ 5”功能,无论该方法是检查密钥是否在数据库中。 另外,如果不确定(例如:与验证服务器的连接失败或密钥未发送),则最好假定它是有效的,这样用户外部可能会出问题在控制之下,您将使他们从怀疑中受益。您希望为合法用户提供最佳体验,并在可能的情况下停止盗版,而不是给付费用户带来不便。 如前所述,如果没有对代码进行混淆,那么任何具有PHP基本知识(甚至只是能够阅读)的人都可以轻松找到并禁用它。可以在http://code.google.com/p/phpobfuscator/中找到适合您的开源应用程序。如果您仍希望允许开发人员修改应用程序,则可以考虑混淆许可代码,放入单独的文件中,并为其提供一个假的无辜名称。     
我建议检查一下http://www.socialengine.net/如何加密其源代码并获取解密密钥和授权。它们很大,将具有可靠的方法。我试图将其破解一段时间以获取乐趣,但失败了。     

要回复问题请先登录注册