gpt4 book ai didi

php session_destroy 浏览器记住用户名和密码

转载 作者:可可西里 更新时间:2023-11-01 01:08:11 26 4
gpt4 key购买 nike

我正在使用 php 身份验证方法进行摘要身份验证,如 php manual 中所示.除注销部分外,一切正常。

我正在使用 session_destroy() 尝试注销我的用户,它确实这样做了。但是我的问题是,如果用户在关闭浏览器之前重新登录,他们不会被提示输入用户名和密码,他们会自动使用他们输入的最后一个用户名和密码重新登录。

浏览器似乎以某种方式记住了凭据。在 Firefox 中,如果我在尝试重新登录之前手动清除“清除浏览历史记录”中的“事件登录”,那么我会提示输入用户名和密码,即使用户已使用 session_destroy() 注销>.

我也在用 an example from the php manual清除 cookie 但这似乎没有帮助,这似乎不是 cookie 的问题。

这是我的 logout.php 代码

<?php
session_start();
$_SESSION = array();
//destroy cookie if it exists
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
//destroy session
session_destroy();
header("location:form.php");
exit();
?>

我错过了什么?感谢您的帮助!

最佳答案

HTTP 身份验证与 session 身份验证略有不同。清除 http 身份验证 session 的唯一可能性是更改域名。检查http://www.php.net/manual/en/features.http-auth.php#100396 (评论 #100396)这是我发现的地方。

顺便说一句:使用 session 进行身份验证要容易得多,您有更多的可能性来存储用户信息等。因此,如果没有特定的理由使用 httpAuth,您最好使用 session 。

关于php session_destroy 浏览器记住用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6630621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com