Просмотр полной версии : Заменить REFERER при редиректе
Мне нужно сделать редирект, при этом подменить значение реферера.
Пробовал по всякому:
<?php
header('Referer: 111.html');
header('Location: http://tds.ru/go.php?sid=1');
?>
Редиректит но со старым реферером.
А вот в этом случае:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_REFERER, '111.html' );
curl_setopt($ch, CURLOPT_URL, "http://tds.ru/go.php?sid=1");
curl_exec($ch);
curl_close($ch);
?>
На тдске виден нужный рефер, информация об Юзер Агенте пустая(а это мне совсем не нужно)... И так же не происходит никакого редиректа.
Подскажите пожалуйста кто знает, очень нужно.
DeaD_MoroZ
17.11.2009, 04:48
А этот сайт точно живой? я даже не смог на него зайти чоб своё предположение проверить(=
Да этот домен я для примера написал, чтобы было понятно что там тдска.
Ты знаешь как сотворить то что мне нужно?
DeaD_MoroZ
17.11.2009, 05:27
попробуй вот так
<script type='text/javascript'>
sid=1;
var r=document.referrer;
window.location="http://"+"сайт"+".ru"+"/go.php?sid="+sid+"&sref="+r;
</script>
sid-номер схемы(=
sref-полный реферер
DeaD_MoroZ
17.11.2009, 05:34
и вот тут много чего подезного(;
http://jacksoft.biz/
Это тоже не работает.
Уже все перепробовал, неужели нельзя...
информация об Юзер Агенте пустая(а это мне совсем не нужно)
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
Советую использовать инонимные HTTP/S прокси, если хочеш накрутить счетчик на ТДС, иначе в бан улетиш.
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
Советую использовать инонимные HTTP/S прокси, если хочеш накрутить счетчик на ТДС, иначе в бан улетиш.
Ну юзер агента я сделал. А редиректа все равно не происходит. Хотя и в настройках симпл тдс поставил curl редирект уже.
Вообще неясен вопрос, какой редирект ты имееш ввиду, если на стороне сервера к примеру авторизация с редиректом, то задаеш
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
Если там как в Вкантакте Мета тэг в теле, то чтоб перейти по редиректу нужно
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
Или ты это имееш ввиду:
header('Location: www');
Опиши вообщем нормально ТЗ
CrazyStudentS_Mi}{
17.11.2009, 15:18
Xtezy, привет :) у тебя какой мод тдски? у меня вроде в 1.3 нуллед by iron-viper рефереры все пашут даже без JS и редиректов хедером, когда просто по ссылке кликают
Попробую так объяснить что мне нужно
<?php
//получаю полный урл данной странички
$ref = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
//из полного урла удаляю GET запрос
$new_ref = preg_replace('/\?.*?(?=#|\z)/', '', $ref);
//далее мне нужно средиректить на тдску со
//значением реферера - $new_ref
?>
<?php
//получаю полный урл данной странички
$ref = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
//из полного урла удаляю GET запрос
$new_ref = preg_replace('/\?.*?(?=#|\z)/', '', $ref);
?>
А зачем GET запрос вначале подставлять ($_SERVER['REQUEST_URI']), а потом убирать?
Curl это не редирект. Он тут точно не поможет.
Реферер у клиентского браузера подменить нельзя, если только сам клиент этого не сделает.
Сделайте специальную страницу и редеректите с неё:
http://domain.ru/url.php?go=http://tds.ru
//далее мне нужно средиректить на тдску со
//значением реферера - $new_refсредиректить кого? редиректят клиента, зашедшего на сайт, а то что ты описываешь - тупо отправить запрос на сервер. можно через теже сокеты сделать, составив нудный пакет, можно через курл.
$fh = fsock_open("blah.com");
$packet = "GET /blah HTTP /1.1\r\n";
$packet .= "Host: blah.com\r\n";
$packet .= "Referer: blahblah.com\r\n\r\n";
fwrite($fh, $packet);
fclose($fh);
А зачем GET запрос вначале подставлять ($_SERVER['REQUEST_URI']), а потом убирать?
Мне нужно получить полный урл странички без гет данных, а вот это ($_SERVER['HTTP_HOST']) дает только данные хоста, поэтому добавляю путь до странички и затем стираю гет.
Сделайте специальную страницу и редеректите с неё:
Такой вариант мне не подойдет.
Мне нужно получить полный урл странички без гет данных, а вот это ($_SERVER['HTTP_HOST']) дает только данные хоста, поэтому добавляю путь до странички и затем стираю гет.
Есть ещё $_SERVER['PHP_SELF'] :
echo 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
DeaD_MoroZ
19.11.2009, 04:15
Мне нужно получить полный урл странички без гет данных, а вот это ($_SERVER['HTTP_HOST']) дает только данные хоста, поэтому добавляю путь до странички и затем стираю гет.
Такой вариант мне не подойдет.
Я вот почитал тематические сайты, существует только вариант с промежуточной страницой. А курл действительно не надо использовать.
imajo.ati
20.11.2009, 10:34
Я вот почитал тематические сайты, существует только вариант с промежуточной страницой.
ошибаешься
прочитай хотя бы тут http://www.cgisecurity.com/lib/XmlHTTPRequest.shtml
DeaD_MoroZ
20.11.2009, 20:19
ошибаешься
прочитай хотя бы тут http://www.cgisecurity.com/lib/XmlHTTPRequest.shtml
это и есть решение проблеммы(= (если я не ошибаюсь)
Подменить реферер нельзя, можно его только обнулить
пробовал разобраться, нифига не получилось....
Еще раз попробую пояснить что именно мне нужно:
пользователь каким либо образом попадает на мой сайт -> я его должен средиректить(любым способом, php, html, javascript или другое) на другой адрес(в моём случае на TDS), и при этом нужно подменить реферера каким-либо образом, чтобы на TDS уже был виден нужный мне реферер.
ntldr : такое нельзя реализовать???
пробовал разобраться, нифига не получилось....
Еще раз попробую пояснить что именно мне нужно:
пользователь каким либо образом попадает на мой сайт -> я его должен средиректить(любым способом, php, html, javascript или другое) на другой адрес(в моём случае на TDS), и при этом нужно подменить реферера каким-либо образом, чтобы на TDS уже был виден нужный мне реферер.
ntldr : такое нельзя реализовать???
нет такое реализовать нельзя
Vanad1um3
21.11.2009, 02:36
Не буду поднимать отдельную тему, спрошу сюда...
Пока нуб в этом вопросе, напишу как сумею :)
Есть сайт "1". Пользователь, находясь на нем, кликает по ссылке и переходит на сайт "2". На сайте "2" стоит простейший редирект скрипт, перебрасывает на сайт "3".
Внимание вопрос! Админ сайта "3" сможет увидить, что юзер перешел именно с сайта "1"?
Внимание вопрос! Админ сайта "3" сможет увидить, что юзер перешел именно с сайта "1"?
Смотря как редирект реализован, если типа header("Location: ..."); или через htaccess,
То по идее увидит
Vanad1um3
21.11.2009, 04:46
Смотря как редирект реализован, если типа header("Location: ..."); или через htaccess,
То по идее увидит
Вот так...
<html>
<head>
<meta http-equiv="Refresh" content="1;URL="http://go.1ps.ru/pr/p.php?хххххх">
</head>
<body>
<script language="javascript" type="text/javascript">
document.location="http://www.***.ru";
</script>
</body>
</html>
Вот так...
<html>
<head>
<meta http-equiv="Refresh" content="1;URL="http://go.1ps.ru/pr/p.php?хххххх">
</head>
<body>
<script language="javascript" type="text/javascript">
document.location="http://www.***.ru";
</script>
</body>
</html>
не должен вроде
DeaD_MoroZ
21.11.2009, 06:18
ты хочешь скрыть от пользователя источник где ты покупаешь трафик???
Вообщем я нашел решение моей проблемы. РЕАЛИЗОВАТЬ то, что требовалось мне ВОЗМОЖНО!!! В паблик этот способ кидать не буду!
PS: отдельный респект CrazyStudentS_Mi}{
Vanad1um3
21.11.2009, 20:56
ты хочешь скрыть от пользователя источник где ты покупаешь трафик???
Не совсем. Где добываю... А что?)
поставь на сайт 2 туже симплу (SimpleTDS) и лей траф на нее. а с нее уже лей на сайт 3. и все будет нормально
Vanad1um3
22.11.2009, 02:09
Тоже была такая мысля, но я этот редирект поставил на ucoz'е... Там пхп вроде нельзя :)
DeaD_MoroZ
22.11.2009, 05:20
Не совсем. Где добываю... А что?)
пытаюсь понять(=
Vanad1um3
22.11.2009, 14:34
пытаюсь понять(=
Ясно)) А я думал мне сейчас скажут, мол, как нехорошо обманывать людей :D
krasaf4eg
03.01.2010, 18:17
Не стал новую тему создавать -эта подходит.У меня проблема немного похожа на авторскую.Между сайтами А и С есть сайт В который должен быть рефом в статистике сайта С.
Говоря проще ,должно имитироваться посещение целевого сайта С с сайта В.При этом юзер не должен подозревать что он якобы был на В.Вот как бы такую ссылку слепить?Реально?Или может скрипт есть такой?Только я в скриптах не силён...
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot