【问题标题】:Change HTTP_REFERRER using php before redirecting在重定向之前使用 php 更改 HTTP_REFERRER
【发布时间】:2013-11-07 12:15:17
【问题描述】:

我有一个脚本可以重定向到类似的链接

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

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

【问题讨论】:

标签: php http-redirect http-referer


【解决方案1】:

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

由于referer来自网络浏览器客户端,我们需要创建自己的“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代码。

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

【讨论】:

    猜你喜欢
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-07
    • 1970-01-01
    相关资源
    最近更新 更多