Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Работа с сессиями


Автор: PsiMagistr 7.4.2014, 10:22
Ребята, я обнаружил очень странное поведение своего сайта, с которым до сих пор не могу разобраться. Выглядит почти магически. 

Открываем Моззилу. У меня версия 28.0 (В других браузерах этого глюка не наблюдаю)

Переходим по адресу 

http://testergame.besaba.com/login.php.

Выводит среди прочего "Сессия не обнаружена". ЭТо нормально так как сессии у нас еще нет.

 Логинимся (Логин: [email protected] Пароль: 1234567) Открывается ссессия. 

Далее нажимаем ссылку "Выход". На странице выводит строчку "Сессия уничтожена". Это нормальное поведение. Мы разлогинились.

Теперь.

ОБЯЗАТЕЛЬНО

Закрываем мозиллу, открываем вновь.

Переходим по адресу [URL=http://testergame.besaba.com/login.php].

Логинимся 

НЕ нажимаем ссылку "Выход". А просто вручную в строчке подменяем, переписываем адрес, стирая до [URL=http://testergame.besaba.com/] и дописывая login.php. Нас перекинет на ту же самую страницу (http://testergame.besaba.com/login.php), просто набранную вручную.

И выводит "Сессия не обнаружена".

Переход по самой ссылке я не программировал никак. (Никаких функций JavaScript) Ссылка и ссылка. Какая же может быть разница, при переходе по ссылке м вводе этого же адреса а адресную строчку вручную?

Благодарю всех, кто поможет разобраться.

Автор: _zorn_ 7.4.2014, 10:47
Цитата
Сессия была уничтожена

Ну и учитывая, что "Выход" ведет на login.php, странно как это 
Цитата
В других браузерах этого глюка не наблюдаю

Автор: PsiMagistr 7.4.2014, 10:58
Спасибо за участие.

Не совсем понял Вас. Выход ведет на:


http://testergame.besaba.com/login.php

Я говорил о том, что если этим же самым адресом разлогинивать, вписывая вручную, то выходит "Сессия не обнаружена" (Если браузер перед операцией логин-разлогин. был закрыт).

Автор: _zorn_ 8.4.2014, 03:09
А, ты про это. Ну так сессия у тебя скорей всего до закрытия браузера. Просто у меня он такие сессии запоминает. 
У тебя он залогиненую страничку берет из кеша, скорей всего. Попробуй после открытия браузера обновить страницу.

Автор: PsiMagistr 9.4.2014, 18:27
Я проставлял запрет на кеширование.

Код

header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');


Автор: AJIeKceuD 9.4.2014, 18:54
Цитата(PsiMagistr @ 9.4.2014,  18:27)
Я проставлял запрет на кеширование.

Я в какой-то момент перестал верить в то что на запрет кеширования можно надеяться. И фаерфокс, по моему субъективному мнению, самый большой любитель покешировать

Автор: PsiMagistr 9.4.2014, 18:58
Цитата(AJIeKceuD @ 9.4.2014,  18:54)
Цитата(PsiMagistr @ 9.4.2014,  18:27)
Я проставлял запрет на кеширование.

Я в какой-то момент перестал верить в то что на запрет кеширования можно надеяться. И фаерфокс, по моему субъективному мнению, самый большой любитель покешировать

Спасибо за участие.

Да Ф-ф обожает кеш, ИЕ кстати тоже.

Я грохнул все настройки фаейфокса (вернул браузер к старт-настройкам) и вроде работать начало...

Чистый бред, однако.

P.S а отсылкой каких именно заголовков запрещаете кеш? В Сети давно ходит никуда негодная бодяга...

Автор: AJIeKceuD 9.4.2014, 19:34
Давно боролся, сейчас что писал точно не вспомню. Но пробовал и мета-тег ставить, и expires в хедере писать (и не только его), и даже через htaccess по-моему тогда пытался.
Самым надежным все-равно было что-то типа ?1234 в урл дописывать (число естественно рандомное). 

А последнее время не появлялось с этим проблем. Тьфу-тьфу-тьфу )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)