Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> location против кэширования 
:(
    Опции темы
bars80080
Дата 1.3.2011, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



возникла такая проблемка.

на сайте есть форма авторизации: жмём кнопочку, она выскакивает посредством javascript. вводим логин-пароль, жмём сабмит, данные методом post идут на сервер. если всё хорошо, то сервер выдаёт:

Код

header('Location: '.$backurl); exit;


где $backurl - урл страницы с которой пришёл пользователь. то есть в теории его возвращает назад, что прекрасно работает на локалке.
однако, на внешнем хостинге оказался включенным кэш, который заставляет браузер читать страницу из памяти. что, кстати, тоже не плохо - меньше нагрузка на сервер, не хотелось бы от него отказываться. однако, не в этом случае. при возврате на страницу браузер показывает её такой, какой она была до авторизации, что создаёт впечатление, что пользователь не авторизовался, хотя авторизация и прошла успешно.

можно было бы конечно присоединить к $backurl.'?time=123456789' , но это не решит проблемы. так как пользователь может перейти по другом пункту меню, а затем вернуться. да и прочие пункты меню после авторизации могут выглядеть по другому.

то есть в идеале, после авторизации браузеру должно прийти некое сообщение, чтобы он сбросил кэш на все страницы сайта.

есть ли такая возможность? как поступить в таком случае?

Это сообщение отредактировал(а) bars80080 - 1.3.2011, 16:02
PM MAIL WWW   Вверх
нуп
Дата 1.3.2011, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: нет
Всего: 33



Может делать редирект на js ? После запроса авторизации приходит допустим sucesfull = 1, и js делает свое коварное дело  smile 
PM MAIL   Вверх
bars80080
Дата 1.3.2011, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



а как это решит проблему с закэшированными страницами?
PM MAIL WWW   Вверх
gta4kv
Дата 1.3.2011, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Cache-control: no-cache
Cache-control: no-store
Pragma: no-cache
Expires: 0

?
PM MAIL   Вверх
bars80080
Дата 1.3.2011, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



это изначально ставить на все страницы? но тогда отрубится кэш вообще, как я понимаю?
или только перед header('Location: ') ? но тогда он отменит кэш только только для одной страницы, и как я понимаю именно той, на которой пользователь находится в данный момент, а это авторизационная страница site.ru/auth/, а не та, с которой он пришёл

Добавлено через 35 секунд
а каков механизм здесь, на форуме?
как я понимаю, тут просто нет кэша?
PM MAIL WWW   Вверх
gta4kv
Дата 1.3.2011, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Кстати, я не понял проблемы с:
 
Цитата
можно было бы конечно присоединить к $backurl.'?time=123456789' , но это не решит проблемы. так как пользователь может перейти по другом пункту меню, а затем вернуться. да и прочие пункты меню после авторизации могут выглядеть по другому.

Ты откидываешь пользователя на новую страницу (не из кэша), куда он там не туда нажмет?
PM MAIL   Вверх
bars80080
Дата 1.3.2011, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(gta4kv @  1.3.2011,  16:27 Найти цитируемый пост)
Ты откидываешь пользователя на новую страницу (не из кэша), куда он там не туда нажмет? 

нажмёт на пункт меню, перейдёт на некоторую страницу, которая так же может быть извлечена из кэша, хотя требуется обновлённый вариант

получается, надо всем ссылкам цеплять ?time=123456789 , но это как-то топорно
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0749 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.