在重定向之前使用php更改HTTP_REFERER

时间:2013-11-07 12:15:18

标签: php http-redirect http-referer

我有一个脚本,可以重定向到像

这样的链接
header("Location:http://foo.com/abc.xyz");

但我想将HTTP_REFERRER设置为http://foo.comblank,以便网站http://foo.com无法跟踪该引用是从另一个域发送的脚本已安装。

1 个答案:

答案 0 :(得分:0)

当然,有一种欺骗引用者的方法。它是多么有用的东西供您决定:)

由于引用来自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代码。

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