2015-11-08 109 views
0

我在两台服务器上有两个php文件。让我们称之为服务器A和B.PHP文件包含问题

我想通过我的PHP文件,包括必须在两个服务器上启用什么PHP指令在文件上B.

的代码?

此外,当包含远程文件时,文件的代码是否会被包含或发送到请求脚本的代码输出(如echo数据)?

+0

您的'include()'命令将正确包含它从有问题的服务器发送的有效负载。如果这是php代码或输出取决于该服务器的配置,显然。通常它会被输出,_unless_你采取非常特殊的配置步骤。总的来说,可以说这种方法是一个值得怀疑的方法。这看起来像你在那里打开的一个_huge_安全问题。试想一下,如果某人成功地伪造了一个包含文件的回复:您可以执行Bad Girl女士在您心爱的系统上向您发送的任何代码...... – arkascha

+0

我相信您可以使用include('ftp:// user :[email protected]/file.php');'如果你不想分析数据,但速度很慢。然而,你这样做,它会很慢。最好的解决方案是将文件复制到本地服务器! –

+0

我可以简单地将php代码回显到调用文件。这将工作为文本输出或将代码解析为php代码? :S另外,**需要在两台服务器上设置哪些指令才能使包含工作? –

回答

1

在服务器B上,您应该在您的php.ini中将allow_url_include的值设置为On。请谨慎使用allow_url_include,因此请谨慎使用,并在做这些之前进行大量的尽职调查。

如果你只需要一个目录允许由另一台服务器包含PHP文件,那么你可以创建一个与以下行.htaccess文件:

php_flag allow_url_include on 

无论你的文件结构,然后allow_url_include是一个安全问题(除非你的服务器不能被外界访问)。

+0

当我甚至没有在线提供我的目录索引时,人们怎么能找到我的服务器上php文件的名称?另外,不同的目录可能有不同的php指令吗?或者一个PHP安装对所有文件/文件夹使用相同的指令? –

+0

请看我更新的帖子。 – itoctopus

+0

这是否意味着我可以用htaccess文件覆盖php.ini中的设置?或者这是否意味着php.ini指令必须在**和**上设置,然后编辑htaccess文件? –