Ну, конечно, есть способ подделать реферера.Насколько это будет полезно, решать вам :)
Поскольку реферер исходит из клиента веб-браузера, нам нужно будет создать собственный «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-код.
В целом это не очень хорошая идея, но это единственный известный мне способ «подделать» реферера и пользовательского агента.