Bem, é claro que existe uma maneira de falsificar um referente. Quão útil será algo para você decidir :)
Como o referente vem do cliente do navegador da web, precisaremos criar nosso próprio "cliente PHP www" ... basicamente um proxy.
Aqui está algum código que falsificará todas as informações que estão lá:
<?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
Agora conterá o conteúdo HTML da página que você acabou de receber do servidor.
Quanto ao que você faz com isso a seguir, isso depende de você :) Você provavelmente precisará formatar quaisquer URLs no código para que eles funcionem em seu domínio. Em seguida, imprima o código HTML.
Geralmente, isso não é realmente uma boa ideia, mas essa é a única maneira que eu conheço "falsificar" o referente e o agente do usuário.