![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| MeIsGremlin |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 2.12.2005 Где: Киев Репутация: нет Всего: нет |
Перехожу с одной страницы сайта на другую по ссылке $_SERVER['HTTP_REFERER'] вообще отсутствует в массиве. В чем может быть причина? Есь ли другие способы на PHP получить referer ?
--------------------
mess with the best die like the rest |
|||
|
||||
| Rigel |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.7.2007 Где: Москва Репутация: нет Всего: нет |
Выполни встроенную функцию phpinfo(); , она покажет все переменные, которые определены в сеансе и их значения. Массив _SERVER может быть и не определен, но есть массивы _ENV и _PHP, например, первый из них самый универсальный. Посмотри, там несложно разобраться, что к чему Это сообщение отредактировал(а) Rigel - 16.8.2007, 10:28 --------------------
С уважением. Rigel. http://www.smoliy.ru |
|||
|
||||
| MeIsGremlin |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 2.12.2005 Где: Киев Репутация: нет Всего: нет |
Я делал print_r($_SERVER) и потом print_r($GLOBAL) Массив сервер есть, но http_referer в нем нет --------------------
mess with the best die like the rest |
||||
|
|||||
| Rigel |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.7.2007 Где: Москва Репутация: нет Всего: нет |
А, ну тогда просто - впиши куда-нибудь переход на твою страницу с тестом, сделай этот переход - и во всех массивах появится это значение. Пустые элементы ведь не выводятся...
Это сообщение отредактировал(а) Rigel - 16.8.2007, 12:29 --------------------
С уважением. Rigel. http://www.smoliy.ru |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
1) Не все user-agent-ы передают рефереры;
2) Некоторые прокси "режут" их; 3) Некоторые браузеры (особенно архаичные) передают под видом реферера непонятно что; 4) Реферер легко подделать. Поэтому в мануале и написано
Если реферер нужен только для статистики - я бы не заморачивался. Если же от переходов пользователя по страницам зависит важная логика, я бы, наверное, вместо анализа реферера сохранял ID-шники ранее посещенных страниц в куках или сессии (в зависимости от конечной задачи)... -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| MeIsGremlin |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 2.12.2005 Где: Киев Репутация: нет Всего: нет |
2 Rigel переходиться по ссылке. И http_referer не просто пуст его вообще нет.
2 SelenIT у меня на домене есть две админки. Обе с авторизацией. Но нужно чтоб вход в одну админку с другой был без авторизации и с тем же логином и наоборот. Поэтому нужен не просто для статистики. Поэтому я и спрашиваю. Можно ли как-то решить вопрос с реферером или получить его какими-то другими способами кроме как через массив сервера. Ява скрипт тоже не показывает реферер. Его можно как-то принудительно передавать? Это сообщение отредактировал(а) MeIsGremlin - 16.8.2007, 15:10 --------------------
mess with the best die like the rest |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
MeIsGremlin, а авторизация в админках на сессиях или через 401-й заголовок?
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Rigel |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.7.2007 Где: Москва Репутация: нет Всего: нет |
Сам реферер, насколько я знаю, нет, но решить задачу можно. Первое, что приходить в голову - это объединить сессии обоих админок. Это будет самый надежный способ, потому что передача данных произойдет на сервере, а через клиента ничего передаваться не будет. Второй вариант: выставлять признак при переходе от одной админки к другой - я думаю, лучше всего пересечение куки с IP. Где хранить последний IP пользователя - вопрос решаемый, я думаю, что это будут файлы на каждый IP и сборщик мусора в конце. Если уровень безопасности низкий, можно ограничится одними куками: большинство админок требуют их обязательного наличия. Если защита сделана через .htpasswd, как я люблю, и логин с паролем в ней постоянно присутствуют (переменные $_SERVER["PHP_AUTH_PW"] и $_SERVER["PHP_AUTH_USER"] ), то можно перегнать их методом post в другую админку (чтобы враг не перехватил) ... ) --------------------
С уважением. Rigel. http://www.smoliy.ru |
|||
|
||||
| MeIsGremlin |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 2.12.2005 Где: Киев Репутация: нет Всего: нет |
Да обе на сессиях --------------------
mess with the best die like the rest |
|||
|
||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
Объедините сессии обеих админок, как посоветовал Rigel. Можете хранить в сессии признак страницы, на которой произошел логин, если нужно. На мой взгляд, это самый удобный и безопасный вариант. Передачу пароля методом POST сложно считать безопасным методом
-------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
| console |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 307 Регистрация: 12.2.2007 Где: Belarus::Minsk Репутация: 2 Всего: 3 |
Попробуй getenv('HTTP_REFERER')
|
|||
|
||||
| MeIsGremlin |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 2.12.2005 Где: Киев Репутация: нет Всего: нет |
пусто попробую объеденить сессии Это сообщение отредактировал(а) MeIsGremlin - 16.8.2007, 21:42 --------------------
mess with the best die like the rest |
|||
|
||||
| psworld |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 16.12.2006 Где: Московская област ь Репутация: нет Всего: 0 |
То же самое. В моем случае это был файервол.
|
|||
|
||||
| Bouncer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 30.8.2007 Репутация: нет Всего: нет |
Для определения запросов, по которым пришел посетитель, можете воспользоваться системой Referer
|
|||
|
||||
| MeIsGremlin |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 2.12.2005 Где: Киев Репутация: нет Всего: нет |
Да вещь интересная но там идет условие if ($_SERVER['HTTP_REFERER']) а $_SERVER['HTTP_REFERER'] пуст. То есть его вообще нет --------------------
mess with the best die like the rest |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |