Ну, конечно, есть способ подделать референта. Насколько полезно будет вам решать:
Поскольку референт приходит от клиента веб-браузера, нам нужно будет создать собственный «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-код.
Как правило, это не очень хорошая идея, но это единственный способ, которым я знаю, «обманывать» рефератора и агента-пользователя.
взгляните на http://board.phpbuilder.com/showthread.php?10162863-Spoofing-the-HTTP_REFERER, если это поможет –