Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Редирект с реферером
 
 автор: Shorr Kan   (11.05.2005 в 15:04)   письмо автору
 
 

Как можно редиректить, чтобы целевая страничка (куда редиректим) - получился в http_referer посетителя - страничку редиректа, а не страничку, откуда человек пришел на редирект?

   
 
 автор: glsv (Дизайнер)   (11.05.2005 в 16:04)   письмо автору
 
   для: Shorr Kan   (11.05.2005 в 15:04)
 

А что за "страничка редиректа"? Вы хотите скрыть Referer? В форуме уже обсуждался этот вопрос, но полного решения так и не нашли. Посмотрите обсуждения по ссылкам.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1956
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=2638

   
 
 автор: Shorr Kan   (11.05.2005 в 16:12)   письмо автору
 
   для: glsv (Дизайнер)   (11.05.2005 в 16:04)
 

Наоборот! Мне нужно поставить свой реферер - той странички с редиректом. Человек пришел ко мне на сайт, и редиректиться на другой сайт. ВОт на другом сайте реферер должен быть моего сайта.

   
 
 автор: glsv (Дизайнер)   (12.05.2005 в 04:53)   письмо автору
 
   для: Shorr Kan   (11.05.2005 в 16:12)
 

А он и будет ваш. Если посетитель с вашего сайта перешел на другой, то на другом сайте будет ваш реферер. Или вы как хитро перенаправляете, что рефереры теряются?

   
 
 автор: Shorr Kan   (12.05.2005 в 21:34)   письмо автору
 
   для: glsv (Дизайнер)   (12.05.2005 в 04:53)
 

Я так понял, что document.location.replace и meta refresh приводят к тому, что реферер передается тот, с которым человек пришел на эти document.location.replace или meta refresh ... Это не так? По крайней мере, мне phpinfo подсказывает, что я понял правильно. Грубо говоря, есть странички

a.php (тут обычный a href на b.php)
b.php (тут редирект на phpinfo.php
phpinfo.php (тут phpinfo();)

Если я зайду на a, нажму на ссылку.... то попаду на phpinfo (через редирект). Так вот реферер там будет написан "a.php".

Или я что-то неверно понимаю?

   
 
 автор: glsv (Дизайнер)   (13.05.2005 в 06:03)   письмо автору
 
   для: Shorr Kan   (12.05.2005 в 21:34)
 

Да, правильно, реферер потеряется в таком случае. Как раз этот способ затирания реферера и был найден в предыдущих темах.
Но если перенаправить вот таким способом, то реферер остается

<?
  header
("location: http://www.newsite.ru/ref.php");
?>

   
 
 автор: Shorr Kan   (14.05.2005 в 10:39)   письмо автору
 
   для: glsv (Дизайнер)   (13.05.2005 в 06:03)
 

Так... А если я хочу передать реферер странички b.php ?

   
 
 автор: glsv (Дизайнер)   (14.05.2005 в 11:38)   письмо автору
 
   для: Shorr Kan   (14.05.2005 в 10:39)
 

Хм… долго не тестировал, но с ходу не удалось оставить реферер странички. Остается только реферер сайта.

   
 
 автор: Shorr Kan   (14.05.2005 в 13:31)   письмо автору
 
   для: glsv (Дизайнер)   (14.05.2005 в 11:38)
 

Стоп, я хочу разобраться, но ничего не понял. Реферер - это адрес СТРАНИЧКИ, с которой человек пришел, правильно? Не сайта. Так?

   
 
 автор: glsv (Дизайнер)   (14.05.2005 в 15:37)   письмо автору
 
   для: Shorr Kan   (14.05.2005 в 13:31)
 

Ну да, странички. Но если вы наберете http://www.server.ru/ вам откроется страница index.php, хотя вы ее и не увидете в адресной строке.
Здесь, видимо, аналогично.
Экспериментируя вчера сэтим кодом, я, в качестве реферера, получал имя сайта без имени страницы.
 
<? 
  header
("location: http://www.newsite.ru/ref.php"); 
?>

   
 
 автор: Shorr Kan   (14.05.2005 в 17:02)   письмо автору
 
   для: glsv (Дизайнер)   (14.05.2005 в 15:37)
 

Хммм.... Да. А не заголовками можно? А то у меня частенько вывод случается, а заголовок только потом... откуда ошибки... Возможно, яваскритовой метод какой-нибудь?

   
 
 автор: glsv (Дизайнер)   (16.05.2005 в 05:01)   письмо автору
 
   для: Shorr Kan   (14.05.2005 в 17:02)
 

Лучше воспользоваться функциями буферизации вывода.

<?
  
// Включаем буферизацию
  
ob_start();
  echo 
"Вывод в браузер";
  
header("location: http://site/index.php");
  
// Вывод в браузер и сброс буфера
  
ob_end_flush();
?>

   
 
 автор: Йа   (11.07.2005 в 15:00)
 
   для: glsv (Дизайнер)   (16.05.2005 в 05:01)
 

С каких это пор перед хидером стало возможно что-то выводить?

   
 
 автор: JC_Piligrim   (11.07.2005 в 15:40)   письмо автору
 
   для: Йа   (11.07.2005 в 15:00)
 

С тех самых пор, когда вывод скрипта стал буферизоваться на сервере (ob_start()), а не выводиться сразу пользователю. И пока сервер не очистит буфер, послав (ob_end_flush()) данные клиенту, с заголовками можно творить все, что угодно.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования