PHP:包含/要求远程源文件的任何逻辑用例?

时间:2009-09-28 22:45:15

标签: php security

http://www.php.net/manual/en/features.remote-files.php

我唯一能想到做的事情包括(“http://someotherserver/foo.php”)会像某种奇怪的服务器内部服务接口,但即使这样,我也能想到一百万种更安全的方式。完成同样的事情。不过,我的具体问题是,有没有人看到远程包含在生产环境中并且这样做是否有意义呢?

编辑:    为了清理某些东西,我会在任何曾经尝试过使用遥控装置的人身上造成身体伤害降临。我也知道这是一个噩梦般的安全漏洞。只是想弄清楚为什么它仍然存在与其他奇怪的想法,如魔术引号和全局变量。

4 个答案:

答案 0 :(得分:2)

虽然我在现实生活中从未见过这种情况,但我可以想象一个拥有独立物理服务器且没有共享文件系统的服务器场。您可能有一台服务器具有所有代码,即api.domain.com,其他服务器包含它。如果您有数十个或数百个单独的站点,它将使部署更容易。但正如亚历克斯所说,它要求被黑客攻击。

答案 1 :(得分:1)

远程文件的执行非常危险......我从来没有在我的服务器上使用它,而且我无法想象将你的,哼哼球放入其他人控制的篮子中的正当理由。那只是要求被黑客入侵。

答案 2 :(得分:0)

不,我没有。这是熊的嘴巴。

答案 3 :(得分:0)

我认为包含/要求远程文件的可能性是allow_url_fopen的结果 - 这是PHP 4.0.x中引入的。

虽然考虑到远程包含的安全风险,但在PHP 5.2中引入了一个新的指令allow_url_include:现在,这个指令决定了你是否可以远程包含/要求,而第一个只能影响fopen和喜欢 - 这很好:它允许管理员禁用远程包含,同时保持远程打开。

和其他人一样,我从未在实际情况中看到过使用remote-include,而我当然经常会看到使用远程开放的情况 - 糟糕的是我有时会看到带有{的服务器{1}}由于安全原因而被禁用,不再存在: - (