Обновление страницы до нового состояния - PullRequest
1 голос
/ 02 февраля 2010

Я написал блог , использующий php и mysql, который имеет функцию входа в систему. Когда вы вышли из системы и сделали ответный удар, на нем не должны отображаться функции участника, поскольку вы больше не входите в систему. Как я могу это исправить, чтобы, когда пользователь больше не входил в систему и не нажимал кнопку возврата, предыдущая страница должна отображаться в состоянии до входа в систему?

Ответы [ 2 ]

1 голос
/ 02 февраля 2010

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

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 1 Jan 1970 05:00:00 GMT");

Это должно решить проблемы с кэшированием. И убедитесь, что вы unset() используете переменную доступа, которую вы использовали для отслеживания, вошел ли пользователь в систему (в $_SESSION или подобном).

0 голосов
/ 02 февраля 2010

Это функция браузера. Но не волнуйтесь, вы не сможете на самом деле делать какие-либо вещи на уровне администратора, если вы не на самом деле не вошли в систему. Если вы хотите, вы можете отменить запрос к серверу через JavaScript спросить, вошел ли пользователь при загрузке страницы. Если этот запрос возвращается false, вы можете скрыть элементы управления администратора или перенаправить пользователя на страницу индекса.

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

...