在php文件中包含一个网站

时间:2010-07-11 21:17:56

标签: php html css security iframe

您好我正在尝试将其他网站的网页链接添加到我的网站中。 我怎么能这样做?

我试过

<?php web_include ('http://website.com/website.html') ; ?> 但是在此语句之后没有加载所有命令。我想直接在我的主页上添加另一个网页。我的主页完全是用php设计的,但另一个是html或php。

我也试过了<?php include("http://www.othersite.com/filename.html"); ?>,但这个html根本没有加载。

可能的解决方案: 好的,这就是我正在使用的

<iframe name="FRAMENAME" src="http://website.com/dropdown.html" width="1000" style="z-index:10000" height="40" frameborder="0" scrolling="no" allowautotransparency=true></iframe>

我只是为我的索引页面添加了一个下拉菜单。我网站的CMS限制我查看IE中的dorpdown。当我查看dropdown.html页面时,我可以看到下拉列表,因此我尝试使用iframe。现在使用iframe我也可以看到IE中的下拉列表,但下拉列表没有显示在顶部。它显示在网站上的其他图像后面。我如何在其他图像之上得到它。 z-index不适用于此。

2 个答案:

答案 0 :(得分:32)

此代码在php.ini中需要allow_url_include=On,默认情况下会被禁用,因为它是 MASSIVE SECURITY RISK 。这称为Remote File Include (RFI)漏洞。如果此站点上有PHP代码,它将在您的服务器上执行。

非常不安全:

<?php include("http://www.othersite.com/filename.html"); ?>

你可能想要的是:

<?php print file_get_contents("http://www.othersite.com/filename.html"); ?>

但是,这在技术上是一个XSS漏洞。所以,如果您信任该网站则没有问题。但您可能希望在打印之前运行Html Purifer

答案 1 :(得分:0)

只是一个基本的建议,但听起来你正试图在复杂的环境中调试复杂的功能,这只会让它变得更难。

如果将其分解为组件步骤,则调试会更容易。在这种情况下,我建议:

在空白的html页面上显示iframe。 确保一切都在这个简单的情况下工作。

在更复杂的页面上显示。

如果它仍然无效,请在复杂页面上注释掉javascript,以确定是否会导致与iframe页面的javascript发生不良互动。

逐步调试调试应简化流程。

相关问题