PDA

Просмотр полной версии : Заменить REFERER при редиректе


Xtezy
17.11.2009, 04:40
Мне нужно сделать редирект, при этом подменить значение реферера.
Пробовал по всякому:
<?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
А этот сайт точно живой? я даже не смог на него зайти чоб своё предположение проверить(=

Xtezy
17.11.2009, 05:00
Да этот домен я для примера написал, чтобы было понятно что там тдска.

Ты знаешь как сотворить то что мне нужно?

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/

Xtezy
17.11.2009, 13:41
Это тоже не работает.

Уже все перепробовал, неужели нельзя...

b3
17.11.2009, 13:45
информация об Юзер Агенте пустая(а это мне совсем не нужно)
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 прокси, если хочеш накрутить счетчик на ТДС, иначе в бан улетиш.

Xtezy
17.11.2009, 14:34
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 редирект уже.

b3
17.11.2009, 15:03
Вообще неясен вопрос, какой редирект ты имееш ввиду, если на стороне сервера к примеру авторизация с редиректом, то задаеш
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 и редиректов хедером, когда просто по ссылке кликают

Xtezy
17.11.2009, 15:20
Попробую так объяснить что мне нужно

<?php
//получаю полный урл данной странички
$ref = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
//из полного урла удаляю GET запрос
$new_ref = preg_replace('/\?.*?(?=#|\z)/', '', $ref);

//далее мне нужно средиректить на тдску со
//значением реферера - $new_ref

?>

ChieFSS
17.11.2009, 16:58
<?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

gisTy
17.11.2009, 19:58
//далее мне нужно средиректить на тдску со
//значением реферера - $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);

Xtezy
17.11.2009, 20:03
А зачем GET запрос вначале подставлять ($_SERVER['REQUEST_URI']), а потом убирать?



Мне нужно получить полный урл странички без гет данных, а вот это ($_SERVER['HTTP_HOST']) дает только данные хоста, поэтому добавляю путь до странички и затем стираю гет.

Сделайте специальную страницу и редеректите с неё:
Такой вариант мне не подойдет.

ChieFSS
17.11.2009, 20:59
Мне нужно получить полный урл странички без гет данных, а вот это ($_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
это и есть решение проблеммы(= (если я не ошибаюсь)

ntldr
20.11.2009, 20:28
Подменить реферер нельзя, можно его только обнулить

Xtezy
20.11.2009, 21:14
пробовал разобраться, нифига не получилось....

Еще раз попробую пояснить что именно мне нужно:

пользователь каким либо образом попадает на мой сайт -> я его должен средиректить(любым способом, php, html, javascript или другое) на другой адрес(в моём случае на TDS), и при этом нужно подменить реферера каким-либо образом, чтобы на TDS уже был виден нужный мне реферер.

ntldr : такое нельзя реализовать???

ntldr
21.11.2009, 00:29
пробовал разобраться, нифига не получилось....

Еще раз попробую пояснить что именно мне нужно:

пользователь каким либо образом попадает на мой сайт -> я его должен средиректить(любым способом, php, html, javascript или другое) на другой адрес(в моём случае на TDS), и при этом нужно подменить реферера каким-либо образом, чтобы на TDS уже был виден нужный мне реферер.

ntldr : такое нельзя реализовать???
нет такое реализовать нельзя

Vanad1um3
21.11.2009, 02:36
Не буду поднимать отдельную тему, спрошу сюда...

Пока нуб в этом вопросе, напишу как сумею :)

Есть сайт "1". Пользователь, находясь на нем, кликает по ссылке и переходит на сайт "2". На сайте "2" стоит простейший редирект скрипт, перебрасывает на сайт "3".

Внимание вопрос! Админ сайта "3" сможет увидить, что юзер перешел именно с сайта "1"?

Kaimi
21.11.2009, 02:41
Внимание вопрос! Админ сайта "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>

gisTy
21.11.2009, 06:05
Вот так...

<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
ты хочешь скрыть от пользователя источник где ты покупаешь трафик???

Xtezy
21.11.2009, 19:33
Вообщем я нашел решение моей проблемы. РЕАЛИЗОВАТЬ то, что требовалось мне ВОЗМОЖНО!!! В паблик этот способ кидать не буду!

PS: отдельный респект CrazyStudentS_Mi}{

Vanad1um3
21.11.2009, 20:56
ты хочешь скрыть от пользователя источник где ты покупаешь трафик???
Не совсем. Где добываю... А что?)

gisTy
21.11.2009, 21:02
поставь на сайт 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
Не стал новую тему создавать -эта подходит.У меня проблема немного похожа на авторскую.Между сайтами А и С есть сайт В который должен быть рефом в статистике сайта С.
Говоря проще ,должно имитироваться посещение целевого сайта С с сайта В.При этом юзер не должен подозревать что он якобы был на В.Вот как бы такую ссылку слепить?Реально?Или может скрипт есть такой?Только я в скриптах не силён...

Vorom90
09.04.2010, 18:31
ТС скинь плиз в личку