0

我有一个脚本,它重定向到一个链接,如

header("Location:http://foo.com/abc.xyz");

但我想要么将其设置为HTTP_REFERRERhttp://foo.com要么blank使站点http://foo.com无法跟踪引用是从安装脚本的另一个域发送的。

4

1 回答 1

0

当然,有一种方法可以欺骗引用者。它有多大用处由您决定:)

由于referer来自Web浏览器客户端,我们需要创建自己的“PHP WWW客户端”......基本上是一个代理。

这里有一些代码会欺骗那里的所有信息:

<?php

// Setup Information
$host = "www.yoursite.com";
$page = "/index.html";

// Open the socket
$fp = fsockopen($host,80,$errno,$errstr,30) or die("Could not establish a connection. $errstr($errno)");

// Request the page
fputs($fp,"GET $page HTTP/1.0\r\n");
fputs($fp,"User-agent: PHP WWW Client\r\n");
fputs($fp,"Referer: http://www.anothersite.net\r\n");
fputs($fp,"\r\n");

// Read response
while (!feof($fp)) {
$page .= fgets ($fp,128);
}

// Close Socket
fclose($fp);

?>

$page现在将包含您刚刚从服务器收到的页面的 HTML 内容。

至于接下来如何处理它,这取决于您 :) 您可能需要格式化代码中的任何 URL,以便它们可以在您的域中工作。然后打印出html代码。

通常这样做并不是一个好主意,但这是我所知道的“欺骗”引用者和用户代理的唯一方法。

于 2013-11-07T12:45:16.617 回答