2

我随机尝试开发一个在 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>

老实说,我真的不知道第二个代码是如何工作的:/

4

2 回答 2

2

您的第一个代码看起来非常接近:

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

做那个

<iframe src="<?php echo $address; ?>" id="frame" height="800px" width="1100px" />
于 2012-12-31T10:50:54.007 回答
2

首先,我要说的是,如今许多网站不会出现在未存储在同一服务器上的 iframe 中。例如,我不能使用以下代码并期望它能够工作。

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

上面的代码将在我的页面上显示一个大白框。这是由于同源政策

现在,您可以对一些公司进行窃听以允许您访问。如果他们在那里使用 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);
?>  

用您选择的用户代理替换上述用户代理。我将不得不更多地解决这个问题,但我希望我能有所帮助。

于 2014-04-21T14:27:18.260 回答