2012-12-31 82 views
0

我是隨機試圖開發一個在PHP中工作的Web瀏覽器。 我知道這是一個非常小的程序,如果你看看它,但我似乎並沒有得到它的工作。雖然我已經完成了,但我不能讓它顯示頁面。一個PHP的網絡瀏覽器

請看下面的代碼,告訴我我錯過了什麼。

<?php 
    $address = $_GET['address'] 
?> 

<html> 
    <head> 
     <title>NeXon Web</title> 
     <link href="css/style.css" type="text/css" media="all"/> 
    </head> 

    <body> 
     <div id="header"> 
      <img src="images/logo.png" id="logo"/> 
      <img src="images/back.png" id="back" /> 
      <img src="images/fwd.png" id="fwd"/> 
      <form method="GET" action="index.php"> 
       <input name="address" type="address" id="address" placeholder="Address..."/> 
       <input type="submit" value="Go" id="submit"/> 
      </form> 
     </div> 
     <div id="body"> 
      <iframe src="<?php $address ?>" id="frame" height="800px" width="1100px" /> 
     </div> 
    </body> 
</html> 

我寫了這段代碼,但似乎沒有得到顯示的網頁。我嘗試了POST和GET方法。 請幫幫忙,我還在一個新手:/

第二個代碼是別人寫的,誰後,他告訴我做什麼,我需要在第二個代碼嚴重的幫助我無法聯繫,

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>Untitled Document</title> 
<style> 
@import="style.css"; 
</style> 
</head> 

<body> 
<?php 
if($_POST){ 

$url=$_POST['url']; 



} 
?> 
<script language="javascript"> 

function w(){ window.open('$url'); } 

</script> 


<div class="box"> 
    <form method="post" action="index.php"> 
     Address: <input type="text" name="url" id="url" class="input_text" /> 
     <input type="submit" value="submit" class="button"> 
    </form> 
</div> 

<div class="url"> 



</div> 
</body> 
</html> 

說實話,我嚴重不知道第二代碼是如何工作的:/

+0

第二個代碼可能不起作用。 –

+0

你是說你想要構建一個看起來像網頁瀏覽器的*網頁*嗎?您還需要小心,直接將用戶態源數據注入到您的頁面中。有人可能很容易腐敗,並可能通過'$ _GET ['地址']'提供惡意軟件,色情或廉價會話啤酒。 *總是驗證和消毒從anyhwere發送給你的任何東西* –

+0

我知道,這不是一個網頁,將用於代理目的,其全部在本地:) –

回答

2

你的第一個代碼看起來相當接近:

<iframe src="<?php $address ?>" id="frame" height="800px" width="1100px" /> 

作出這樣的

<iframe src="<?php echo $address; ?>" id="frame" height="800px" width="1100px" /> 
+0

好吧,謝謝一百萬我得到那個工作最後:D –

2

首先我會說,很多網站這些天不會出現在不存儲在同一臺服務器上的iframe。例如,我不能使用下面的代碼,並期望它的工作。

<iframe src="http://www.google.com"></iframe> 

上面的代碼會在我的頁面上顯示一個大的白色框。這是由於same origin policy

現在,您可能會發現一些公司允許您訪問。如果他們在那裏使用PHP,他們可以通過使用以下內容來完成。

<?php header('Access-Control-Allow-Origin: *'); ?> 

然而,這不僅僅是對你而且對公司也是一個麻煩。更不用說他們面臨安全風險。隨着你的代碼,我玩了它。它可以在我的服務器上使用POST而不是GET。但正如我所說,使用iframe或甚至許多標準形式的ajax請求來實現您的目標是非常困難的。您需要非常有創意才能將其用作網絡瀏覽器。

你可能想嘗試沿着

<?php 
ini_set("user_agent","Mozilla/5.0 (Linux; Android 4.4; Nexus 5 Build/BuildID) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36"); 
$data = file_get_contents("http://www.example.com",0); 
?> 

線的東西與您所選擇的用戶代理替換上述用戶代理。我將不得不多花一點時間,但我希望我能幫上忙。