Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Подмена HTTP_REFERER

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

ADinfiniTUM

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть скрипт go.php (его упрощенный вариан):
 

Код:
<?php  
  Header("Location: ".$url);  
?>

 
Как сделать, чтобы при переходе, допустим, по ссылке http://www.mydomain.com/go.php?url=...narod.ru/1.zip,
народ думал что переход на http://site.narod.ru/1.zip был не со страницы http://www.mydomain.com/go.php, а со страницы  
http://narod.yandex.ru/100.xhtml?site.narod.ru/1.zip
 
Может быть есть готовые скрипты?

Всего записей: 7 | Зарегистр. 21-12-2003 | Отправлено: 17:11 08-01-2004
IntenT



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ADinfiniTUM
Написал какую-то фигню. Голова вообще не варит.
Поэтому вытер. Щас собирусь, и напишу ответ

Всего записей: 1584 | Зарегистр. 16-12-2001 | Отправлено: 17:15 08-01-2004 | Исправлено: IntenT, 17:26 08-01-2004
ADinfiniTUM

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне говорили, что это можно сделать через fsock(), но не сказали как.

Всего записей: 7 | Зарегистр. 21-12-2003 | Отправлено: 14:20 11-01-2004
KVCH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Код:
 
<?
 
if (isset ($_GET['url']) && $_GET['url'] != '') $url = $_GET['url'];
else {header ("Location: http://www.mydomain.com/"); exit;}
 
$s = 0;
$nn = "\r\n";
 
$a = explode ('/', $url, 2);
if (isset ($a[1])) list ($host, $file) = $a; else {list ($host) = $a; $file = '';}
 
$zapros =
"GET /$file HTTP/1.1". $nn.
"Host: $host". $nn.
"Accept: */*". $nn.
"Referer: $host". $nn.
"User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT)". $nn.
"Connection: Close". $nn . $nn;
 
$fp = fsockopen ($host, 80, &$errno, &$errstr, 30);
if (!$fp) {print "$errstr ($errno)<br>\n"; exit;}
 
fputs ($fp, $zapros);
 
while (!feof ($fp))
{
$_ = fgets ($fp, 1024);
 
if ($s) print $_;
elseif ($_ == "\r\n") $s = 1;
}
 
fclose ($fp);
 
?>
 

 
но так портится имя файла... лучо сохранить его на сервак а затем хеадер (локейшен: файл) сделать... но для маленького файла ет не долго, а для большого - ...

----------
FreeBSD лучше Linux !

Всего записей: 1741 | Зарегистр. 03-03-2002 | Отправлено: 16:32 11-01-2004 | Исправлено: KVCH, 17:49 11-01-2004
dmka



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 ADinfiniTUM Клиент сам определяет, какой referer ему слать, так что ничего не получится. Можно конечно прокачивать все через свой сайт, как предлагает  
KVCH, но это вроде не совсем то, что ты хочешь.

Всего записей: 947 | Зарегистр. 23-04-2003 | Отправлено: 20:19 12-01-2004
ADinfiniTUM

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KVCH
Спасибо, все вроде работает.
Но посмотрев код и подумав еще, я решил что зря я все это затеял.
 
Как я понимаю такой способ будет пораждать дополнительный входящий трафик (хостер будет недоволен)?

Всего записей: 7 | Зарегистр. 21-12-2003 | Отправлено: 20:35 12-01-2004
esergey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А можно ли подменить HTTP_REFERER с помошью скрипта без сокетов. Просто чтобы скрипт отпралвял инфу и в реферере у него был мой HTTP_REFERER

Всего записей: 146 | Зарегистр. 21-07-2003 | Отправлено: 01:16 13-01-2004
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
esergey

Цитата:
с помошью скрипта без сокетов.

cURL
CURLOPT_REFERER - Задает строку referer котрая будет вставлена в сгенерированный CURL-ом HTTP запрос.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:20 13-01-2004
Mira



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
cURL  

я бы заменил ссылку на эту  как минимум
http://ua.php.net/results.php?q=curlopt_referer&l=ru&p=wholesite

Всего записей: 1627 | Зарегистр. 25-11-2003 | Отправлено: 10:36 11-10-2008
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Подмена HTTP_REFERER


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru