Измените HTTP_REFERRER с помощью php перед перенаправлением.

StackOverflow https://stackoverflow.com/questions/19835680

  •  25-07-2022
  •  | 
  •  

Вопрос

У меня есть скрипт, который перенаправляет на ссылку типа

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

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

Это было полезно?

Решение

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top