如何使用远程 php 文件中的函数
How to use function that is in a remote php file
我需要一种方法来获取存在于远程文件中的函数,然后在本地使用它。
例如:
服务器 A、B、C 每个都有本地文件,需要以随时间变化的方式进行处理。因此,我有服务器 D,它存储了执行此处理的功能。服务器 A、B、C 然后将获得服务器 D 的功能并使用它来处理他们的文件。
这不是我所处的确切情况,但我想你明白我的意思了。
我试过像这样要求远程文件:
require 'http://www.someRemoteSite.com/remoteFunctionFile.php';
var_dump(function_exists("functionFromRemoteFile"));
但这给了我以下错误:
Warning: require(): http:// wrapper is disabled in the server configuration by allow_url_include=0
.. 然后我读到它是一个坏主意。所以我正在寻找一种替代方法来做到这一点。
最佳做法是什么?
虽然从技术上讲你可以让 PHP 做到这一点,但通过正确配置 allow_url_include,你应该 永远 这样做,因为你完全无法控制什么正在服务。攻击者可以轻松地向您提供他们的脚本,您将很乐意在您的系统上执行它。
访问远程数据的正确方法是通过任何类型的 API,因此您将只公开数据,而不是获取数据的代码。这需要更多的工作,但不幸的是你不应该在这里走捷径。
我需要一种方法来获取存在于远程文件中的函数,然后在本地使用它。
例如: 服务器 A、B、C 每个都有本地文件,需要以随时间变化的方式进行处理。因此,我有服务器 D,它存储了执行此处理的功能。服务器 A、B、C 然后将获得服务器 D 的功能并使用它来处理他们的文件。
这不是我所处的确切情况,但我想你明白我的意思了。
我试过像这样要求远程文件:
require 'http://www.someRemoteSite.com/remoteFunctionFile.php';
var_dump(function_exists("functionFromRemoteFile"));
但这给了我以下错误:
Warning: require(): http:// wrapper is disabled in the server configuration by allow_url_include=0
.. 然后我读到它是一个坏主意。所以我正在寻找一种替代方法来做到这一点。
最佳做法是什么?
虽然从技术上讲你可以让 PHP 做到这一点,但通过正确配置 allow_url_include,你应该 永远 这样做,因为你完全无法控制什么正在服务。攻击者可以轻松地向您提供他们的脚本,您将很乐意在您的系统上执行它。
访问远程数据的正确方法是通过任何类型的 API,因此您将只公开数据,而不是获取数据的代码。这需要更多的工作,但不幸的是你不应该在这里走捷径。