Bueno, por supuesto, hay una manera de falsificar un referente. Lo útil que será es algo para que decidas :)
Dado que el referente proviene del cliente del navegador web, necesitaremos crear nuestro propio "Cliente PHP WWW" ... básicamente un proxy.
Aquí hay algún código que falsificará toda la información que hay:
<?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
ahora contendrá el contenido HTML de la página que acaba de recibir desde el servidor.
En cuanto a lo que hace con él a continuación, eso depende de usted :) Probablemente necesitará formatear cualquier URL en el código para que funcionen desde su dominio. Luego imprima el código HTML.
En general, hacer esto no es realmente una buena idea, pero esta es la única forma en que sé para "falsificar" el referente y el agente de usuario.