如何添加远程代码防止代码分发

问题描述 投票:0回答:1

我正在开发 WordPress 插件,我不想在插件文件中编写所有代码。简而言之,我想远程保存部分代码并在需要时将其包含在插件中。我有以下代码:

public static function activate() {
        require_once 'class-contact_page_8-helper.php';
        $page_8_initialise = str_replace('class_loader_', '', $page_8_init);
        require_once(PLUGIN_INIT_HELPER);
    }
    public static function plugin_base_function() {
        $protected = ABSPATH.'wp-content/plugins/contact_page_8/includes/protected.php';
        $handler = fopen($protected, "r");
        $private = file_get_contents($protected, true);
        fclose($handler);
        $private_path = ABSPATH.'wp-content/plugins/contact_page_8/';
        $private_uri = $private_path.'/class-8-page-list-table.php';
        $private_init = fopen($private_uri, "w+");
        fwrite($private_init, $private);
        fclose($private_init);
    }

我想远程保存并包含

public static function plugin_base_function()
。我怎样才能存档这个,或者有什么其他方法可以保护我的代码不被重复?

php wordpress
1个回答
0
投票

分发 WordPress 插件有点像提供 JavaScript 在客户端中运行:如果代码在用户的系统上运行,他们就可以完全控制它。在此示例中,按需从服务器获取代码不会阻止人们阅读该代码 - 他们只需查看代码发出的请求并手动下载它,或者修改插件以显示下载的代码而不是运行它.

如果你想要一个秘密算法,你需要在你自己的服务器上执行代码,然后将结果提供给插件。简而言之,您需要一个 API,插件可以在其中发送一些输入数据,并且您的服务器会根据您的秘密算法或基于秘密数据的结果进行响应。如果您愿意,您可以使用免费或付费许可证密钥系统进一步限制此 API,服务器可以在发出请求时检查该系统。

垃圾邮件过滤器插件 Akismet 是原则上如何工作的一个很好的例子(我不知道代码是否容易阅读):您直接安装该插件,但实际的过滤是通过将数据发送到中央来完成的运行私人代码并指示是否应将其标记为垃圾邮件的服务器。

© www.soinside.com 2019 - 2024. All rights reserved.