域特定URL包括()免除

时间:2012-01-31 16:42:52

标签: apache include php

我想允许将URL放入php的include();但只有某些领域 - 不是每个领域。其他域名归我所有,并且位于单独的服务器上。如果有人试图包含()任何其他域名,我希望它们不被允许。

如果无法做到这一点,有解决方法吗?

3 个答案:

答案 0 :(得分:1)

我的推荐?不要用包含它。以这种方式执行代码就像吞下巧克力覆盖的樱桃炸弹。

答案 1 :(得分:0)

$allowed_domains = array(
      'stackoverflow.com',
      'www.stackoverflow.com',
      'facebook.com',
      'www.facebook.com',
      'google.com',
      'www.google.com',
    );

    if(!in_array(parse_url($url, PHP_URL_HOST), $allowed_domains)) {
      // throw an error
    }

答案 2 :(得分:0)

您可以在Web服务器上执行此操作,因此您甚至不允许不允许解析或获取任何文件的域。你必须记住任何请求将通过Web服务器和服务器静态内容或被解析,这需要花费时间,然后添加PHP脚本执行的时间。