gpt4 book ai didi

PHP session 不更新

转载 作者:行者123 更新时间:2023-11-29 08:34:29 25 4
gpt4 key购买 nike

我的网络应用程序有一个注销脚本,如下所示:

<?php
session_start();
require_once("config.php");
$logout_connect = mysql_connect($db_host, $db_user, $db_pass);
if (!$logout_connect){
die('Impossibile connettersi: ' . mysql_error());
}else{
mysql_select_db($db_name, $logout_connect);
mysql_query("DELETE FROM valutazioni_recenti WHERE idutente = '".$_SESSION['userid']."' ");
if(mysql_query("DELETE FROM sessions WHERE ssnid = '".$_SESSION['ssnid']."' AND userid = '".$_SESSION['userid']."'")){
$_SESSION = array();
$session_id = session_id();
session_destroy();
mysql_close($logout_connect);
header("location: login.php?logout");
exit();
}

}

?>

它使我正确注销用户,但是,当我在登录时将 session 数据保存在数据库中并在注销时删除它们时,我可以看到,如果我在注销并再次登录时使用“096c02aefbb34jd175bfa89d4ec1235”这样的 session ID登录它为我提供了与该特定用户相同的 sessionid。正常吗?有办法改变吗?我是否只需将其(或 m5d)与登录时间混合?

最佳答案

您的注销代码中缺少一些内容,即存储在用户浏览器中的 cookie 值。 PHP 函数 session_destroy();不会删除用户 cookie,您必须通过将到期时间设置为回溯日期或时间来手动取消设置。

setcookie ("TestCookie", "", time() - 3600);  //will set expiry time one hour back

因此,如果您不取消设置用户浏览器的 cookie,则每次新登录时都会采用相同的 session ID。

关于PHP session 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15586134/

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