Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > location против кэширования |
Автор: bars80080 1.3.2011, 16:01 | ||
возникла такая проблемка. на сайте есть форма авторизации: жмём кнопочку, она выскакивает посредством javascript. вводим логин-пароль, жмём сабмит, данные методом post идут на сервер. если всё хорошо, то сервер выдаёт:
где $backurl - урл страницы с которой пришёл пользователь. то есть в теории его возвращает назад, что прекрасно работает на локалке. однако, на внешнем хостинге оказался включенным кэш, который заставляет браузер читать страницу из памяти. что, кстати, тоже не плохо - меньше нагрузка на сервер, не хотелось бы от него отказываться. однако, не в этом случае. при возврате на страницу браузер показывает её такой, какой она была до авторизации, что создаёт впечатление, что пользователь не авторизовался, хотя авторизация и прошла успешно. можно было бы конечно присоединить к $backurl.'?time=123456789' , но это не решит проблемы. так как пользователь может перейти по другом пункту меню, а затем вернуться. да и прочие пункты меню после авторизации могут выглядеть по другому. то есть в идеале, после авторизации браузеру должно прийти некое сообщение, чтобы он сбросил кэш на все страницы сайта. есть ли такая возможность? как поступить в таком случае? |
Автор: нуп 1.3.2011, 16:24 |
Может делать редирект на js ? После запроса авторизации приходит допустим sucesfull = 1, и js делает свое коварное дело ![]() |
Автор: bars80080 1.3.2011, 16:38 |
а как это решит проблему с закэшированными страницами? |
Автор: gta4kv 1.3.2011, 16:41 |
Cache-control: no-cache Cache-control: no-store Pragma: no-cache Expires: 0 ? |
Автор: bars80080 1.3.2011, 16:58 |
это изначально ставить на все страницы? но тогда отрубится кэш вообще, как я понимаю? или только перед header('Location: ') ? но тогда он отменит кэш только только для одной страницы, и как я понимаю именно той, на которой пользователь находится в данный момент, а это авторизационная страница site.ru/auth/, а не та, с которой он пришёл Добавлено через 35 секунд а каков механизм здесь, на форуме? как я понимаю, тут просто нет кэша? |
Автор: gta4kv 1.3.2011, 17:27 | ||
Кстати, я не понял проблемы с:
Ты откидываешь пользователя на новую страницу (не из кэша), куда он там не туда нажмет? |