我需要一种方法来获取远程文件中存在的函数,然后在本地使用它。
例如: 服务器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
..我之后读过的是启用它的一个坏主意。所以我正在寻找另一种方法来做到这一点。
最佳做法是什么?
答案 0 :(得分:2)
虽然从技术上讲你可以让PHP做到这一点,通过正确配置allow_url_include,你应该从不这样做,因为你完全无法控制正在服务的内容。攻击者可以轻松地为您提供他们的脚本,您将很乐意在您的系统上执行它。
访问远程数据的正确方法是通过任何类型的API,因此您将只公开数据,而不是获取它的代码。这需要更多的工作,但不幸的是你不应该在这里采取捷径。