注销后的会话问题

发布于 2024-12-05 20:26:19 字数 273 浏览 0 评论 0原文

在我的网页中,我有用户名和密码字段,当用户输入正确的用户名和密码时,它会显示index.php。当用户单击注销链接时,它会显示登录页面。但是当我们在注销后单击浏览器后退按钮时,它会再次转到我们显示的最后一页。

我的注销代码如下

<?php

 unset($_SESSION['username']);

 unset($_SESSION['password']);

header("Location: login.php");

?>

In My web page,I have username and password field ,when user enter correct username and password , it shows index.php . When user click logout link ,it shows login page .But when we click browser back button after logout ,again it goes to last page what we shows .

My logout codes follows

<?php

 unset($_SESSION['username']);

 unset($_SESSION['password']);

header("Location: login.php");

?>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

清风夜微凉 2024-12-12 20:26:19

通过使用浏览器的本地缓存,他们不会向您发出新请求(这将允许您引导他们完成登录等)。您需要控制包含敏感信息的所有资源的可缓存性。通常,您可以通过添加 Cache-Control 标头来实现此目的。

By using the browser's local cache, they're not issuing a new request to you (which would allow you to guide them through login/etc.) You need to control the cacheability of all resources that contain sensitive information. Typically, you can do this via adding Cache-Control headers.

傾旎 2024-12-12 20:26:19

在您的注销页面上使用此选项...

session_start();

session_destroy();

这将销毁当时与该特定人员相关的所有会话。

Use this instead on your logout page...

session_start();

session_destroy();

This will destroy all sessions related to that particular person at that time.

那些过往 2024-12-12 20:26:19

明确阻止缓存您需要保护的资源。

将其添加到您的页面中。

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past

Explicitly prevent caching of resources you need to protect.

Add this to your pages.

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文