对于我网站的身份验证系统,我将string s = File.ReadAllText(@"Path\to\a\Unicode\text\file\containing\the\string\'\u2028'");
string ss = Regex.Replace(s, @"\\u[0-9A-Fa-f]{4}", string.Empty);
保存在数据库中并在第一次连接时设置sessionId
然后,
$_SESSION['pseudo']
当用户回来时,我会检查数据库中是否存在if ($dbSession->isSessionExists(session_id()) && isset($_SESSION['pseudo'])) {
// check authorization level so I need $_SESSION['pseudo']
}
以及session_id()
仍然存在,但是:
$_SESSION['pseudo']
是相同的,条件的第一部分是session_id()
true
有 dissapear ,条件的第二部分是isset($_SESSION['pseudo'])
我通过在sessionid旁边的数据库中保存伪来解决我的问题,所以如果第一个条件为真,我也可以得到伪并将它交给false
但是我无法理解,它是会话停留(因为$_SESSION
停留),为什么会话变量不会停留?
我无法添加更多代码,因为它涉及网站的大量课程和架构