2013-11-07 2 views
0

Я скрипт, который перенаправляет на ссылку, какИзменить HTTP_REFERRER с помощью PHP перед перенаправлением

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

, но я хочу, чтобы либо установить HTTP_REFERRER быть http://foo.com или blank так, что сайт http://foo.com не может отследить, что ссылки был отправлен из другого домена, в котором установлен скрипт.

+1

взгляните на http://board.phpbuilder.com/showthread.php?10162863-Spoofing-the-HTTP_REFERER, если это поможет –

ответ

0

Ну, конечно, есть способ подделать референта. Насколько полезно будет вам решать:

Поскольку референт приходит от клиента веб-браузера, нам нужно будет создать собственный «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-код.

Как правило, это не очень хорошая идея, но это единственный способ, которым я знаю, «обманывать» рефератора и агента-пользователя.

Смежные вопросы