2017-07-14 135 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和其他可能的漏洞的輸入。