|
|
|
| Как можно редиректить, чтобы целевая страничка (куда редиректим) - получился в http_referer посетителя - страничку редиректа, а не страничку, откуда человек пришел на редирект? | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(11.05.2005 в 16:04)
| | Наоборот! Мне нужно поставить свой реферер - той странички с редиректом. Человек пришел ко мне на сайт, и редиректиться на другой сайт. ВОт на другом сайте реферер должен быть моего сайта. | |
|
|
|
|
|
|
|
для: Shorr Kan
(11.05.2005 в 16:12)
| | А он и будет ваш. Если посетитель с вашего сайта перешел на другой, то на другом сайте будет ваш реферер. Или вы как хитро перенаправляете, что рефереры теряются? | |
|
|
|
|
|
|
|
для: 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".
Или я что-то неверно понимаю? | |
|
|
|
|
|
|
|
для: Shorr Kan
(12.05.2005 в 21:34)
| | Да, правильно, реферер потеряется в таком случае. Как раз этот способ затирания реферера и был найден в предыдущих темах.
Но если перенаправить вот таким способом, то реферер остается
<?
header("location: http://www.newsite.ru/ref.php");
?>
|
| |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(13.05.2005 в 06:03)
| | Так... А если я хочу передать реферер странички b.php ? | |
|
|
|
|
|
|
|
для: Shorr Kan
(14.05.2005 в 10:39)
| | Хм… долго не тестировал, но с ходу не удалось оставить реферер странички. Остается только реферер сайта. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(14.05.2005 в 11:38)
| | Стоп, я хочу разобраться, но ничего не понял. Реферер - это адрес СТРАНИЧКИ, с которой человек пришел, правильно? Не сайта. Так? | |
|
|
|
|
|
|
|
для: Shorr Kan
(14.05.2005 в 13:31)
| | Ну да, странички. Но если вы наберете http://www.server.ru/ вам откроется страница index.php, хотя вы ее и не увидете в адресной строке.
Здесь, видимо, аналогично.
Экспериментируя вчера сэтим кодом, я, в качестве реферера, получал имя сайта без имени страницы.
<?
header("location: http://www.newsite.ru/ref.php");
?>
|
| |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(14.05.2005 в 15:37)
| | Хммм.... Да. А не заголовками можно? А то у меня частенько вывод случается, а заголовок только потом... откуда ошибки... Возможно, яваскритовой метод какой-нибудь? | |
|
|
|
|
|
|
|
для: 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)
| | С каких это пор перед хидером стало возможно что-то выводить? | |
|
|
|
|
|
|
|
для: Йа
(11.07.2005 в 15:00)
| | С тех самых пор, когда вывод скрипта стал буферизоваться на сервере (ob_start()), а не выводиться сразу пользователю. И пока сервер не очистит буфер, послав (ob_end_flush()) данные клиенту, с заголовками можно творить все, что угодно. | |
|
|
|