0

次のようなリンクにリダイレクトするスクリプトがあります

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

しかし、スクリプトがインストールされている別のドメインから参照が送信されたことをサイトが追跡できないようHTTP_REFERRERhttp://foo.com設定したいと思います。blankhttp://foo.com

4

1 に答える 1

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 コードを出力します。

一般に、これを行うのはあまり良い考えではありませんが、リファラーとユーザー エージェントを「なりすます」方法として私が知っている唯一の方法です。

于 2013-11-07T12:45:16.617 に答える