代码之家  ›  专栏  ›  技术社区  ›  David

php:包含/需要远程源文件的逻辑用例是什么?

  •  1
  • David  · 技术社区  · 16 年前

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

    我唯一想做的事包括 http://someotherserver/foo.php ”)可能是某种奇怪的服务器内服务接口,但即便如此,我仍然可以想出一百万种不同的方法来更安全地完成相同的任务。不过,我的具体问题是,有人在生产环境中看到过remote include吗?这样做有意义吗?

    编辑: 为了澄清一些事情,我会造成人身伤害谁曾试图使用远程包括在生产环境中我工作…所以是的,我知道这是一个噩梦般的安全漏洞。只是想弄清楚为什么它仍然存在,而不是其他奇怪的想法,比如神奇的引语和全局变量。

    4 回复  |  直到 16 年前
        1
  •  2
  •   Byron Whitlock    16 年前

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

        2
  •  1
  •   Alex Weinstein    16 年前

    远程文件执行非常危险…我从来没有在我的服务器上使用过它,而且我无法想象一个有效的理由把你的AHEM球放到别人控制的篮子里。那只是要求被黑。

        3
  •  0
  •   Daniel Sorichetti    16 年前

    不,我没有。 它会流到熊的嘴里。

        4
  •  0
  •   Pascal MARTIN    16 年前

    我认为包含/需要远程文件的可能性是 allow_url_fopen ——这是在PHP 4。

    不过,考虑到远程包含的安全风险,一个新的指令, allow_url_include 在PHP 5.2中介绍:现在,这个决定了你是否可以远程包含/需要,而第一个只影响FOpenD等等——这很好:它允许管理员禁用远程包含,同时保持远程打开。

    和其他人一样,我从来没有看到过在真实场景中使用远程请求/包含,当然,我经常看到使用远程打开的情况——糟糕的是,我有时看到服务器 允许打开URL 由于不再存在的安全原因而禁用:-(

    推荐文章