【问题标题】:file_get_contents messing up web pagefile_get_contents 搞砸了网页
【发布时间】:2012-11-20 02:08:08
【问题描述】:

我已经配置了一个简单的php代理文件:

 echo file_get_contents($_GET['url']);

它似乎适用于大多数页面(cnn.com、foxnews.com、twitter、facebook ...)但由于某种原因它完全搞砸了其他页面,比较 www.index.hrhttp://phppetar.heliohost.org/proxy.php?url=http://www.index.hr 就知道了我的意思...

我还注意到 google.com 的徽标图片不起作用

有谁知道可能是什么问题?

P.S 我试过 curl 但结果相同..

【问题讨论】:

  • 文件资源使用相对路径。
  • CSS 文件加载不正确
  • 是的,css文件是从它们的相对路径加载的,所以你不能从你的网站访问它们。
  • 您可能需要清理输入,因为用户可以从您的服务器中提取文件。
  • 也就是说,我对此无能为力吗?

标签: php curl proxy file-get-contents


【解决方案1】:

您可以添加<base> html 标记,以便从原始站点获取所有相对 URL。另一方面,他们会在他们的日志中看到您在引荐来源网址字段中的网址,但我不确定这对您是否重要。

【讨论】:

  • @BlackRaider 当问题得到解决并且您不需要有关该主题的进一步帮助时,请考虑接受最佳问题作为解决方案。这会将其标记为“已解决”,其他人不会浪费时间考虑您需要进一步的帮助。