2017-07-14 132 views
-1

我无法访问位于不同域的其他网站。Iframe to other web side

echo "<b>Enter your page:</b> <br> 
<form action='iframe.php' method='get'> 
     <input type='text' name='www' size='50' value='https://'> 
     <input type='submit' value='Go to!'> 
</form> 
<br>"; 

echo "<iframe width='80%' height='80%' src=" ; 

if(!isset($_GET['www'])){ 
     echo "www.google.com>"; 
} 
else{ 
     echo "".$_GET['www'].">"; 
} 

你知道如何解决它吗?

+0

你的问题不清楚。顺便说一句,它似乎是你试图在'iframe'内导航,这应该使用JavaScript来完成 – natanelg97

回答

0

我不推荐使用iframe(在我看来,这是一个非常丑陋的),但我测试了下面的代码(JavaScript,HTML & PHP),它似乎工作。在你原来的代码中,你没有使用任何httphttps前缀,但是当我测试它(用于其他网站)时,它似乎可行。

不管怎样,你可能会想尝试我的方式:

PHP

<?php 
    if(isset($_GET['www'])) { 
     $url = $_GET['www']; 
    } else { 
     $url = 'https://www.google.com/'; 
    } 
?> 

HTML

<strong>Enter URL:</strong> 
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get"> 
    <input type="text" name="www" size="50" placeholder="https or http" /> 
    <button type="submit">Go</button> 
</form> 
<iframe style="width: 80%; height: 80%;" id="iframe"></iframe> 

的JavaScript

var url = '<?php echo $url; ?>'; 
var frame = document.getElementById('iframe'); 

iframe.src = url; 

简单地将它们全部放在一个页面中(在script标记之前的JS内部),并尝试访问任何其他网站(不是google.com)。它应该适合你。

不要忘记 - 始终验证和消毒来自XSS和其他可能的漏洞的输入。