gpt4 book ai didi

使用两个 chrome 浏览器时,php 应用程序 session 会混淆

转载 作者:行者123 更新时间:2023-11-30 22:42:54 26 4
gpt4 key购买 nike

我有一个带有 MySQL 数据库的 php 应用程序。用户及其密码存储在数据库中。问题是,有时,多个用户同时在同一台计算机上工作,每个用户都有自己的 session 。当我们在 internet explorer 上使用该系统时,它运行良好,但现在开始使用 google chrome。发生的事情是 session 困惑,突然,用户“x”执行了一些操作, session 变成了 session 用户“Y”。 我希望你能帮助我,因为我不想回到 Internet Explorer。谢谢。

这里我保留打开 session 的代码:

$cons = "SELECT * FROM users WHERE login = '$textLogin' AND password = '$pwd'";
$result = mysql_query($cons, $conexion);
if ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{

/*
session_name(encriptar($textLogin));
session_start(encriptar($textLogin));
*/
session_set_cookie_params(0);
session_start();
$nroId = session_id();

session_set_cookie_params(0);
session_id($nroId);
if(!isset($_SESSION))
{
session_start();
}

/* session_register($nroId);*/

$_SESSION["loginUsr"] = $row["login"];
$_SESSION["passwordUsr"] = $pwd;
$_SESSION["idUser"] = $row["idUser"];
$_SESSION["name"] = $row["name"];
$_SESSION["lastname"] = $row["lastname"];


}

并且每次调用 php 页面时都会执行此代码(每次在 url 中发送 session_id 作为“登录”):

$sigueCheckS = 0;
if ($_SERVER['REQUEST_METHOD'] == "GET") {
if (isset($_GET["login"])) {
$textLogin = $_GET["login"];
$sigueCheckS = 1;
} else {
$sigueCheckS = 0;
$textLogin = "";
};
};
if ($_SERVER['REQUEST_METHOD'] == "POST") {
//if (!empty($_REQUEST["login"])) {
if (isset($_REQUEST["login"])) {
$sigueCheckS = 1;
$textLogin = $_REQUEST["login"];
} else {
$sigueCheckS = 0;
$textLogin = "";
};
};

if ($sigueCheckS == 1) {
session_id($textLogin);
/*COMENTAR ESTAS TRES LINEAS*/
$horas = 4;
$tiempo = $horas * 3600;
ini_set("session.gc_maxlifetime",$tiempo);
/*COMENTAR ESTAS TRES LINEAS*/
session_set_cookie_params(0);
session_start();
if (!isset($_SESSION["idUsuarioUsr"])) {
//echo "<br>no registrado";
echo "<script language='javascript'>window.location='index.php?errorLogin=4';</script>";
return;
};
} else {
//echo "<br>todo bien";
echo "<script language='javascript'>window.location='index.php?errorLogin=4';</script>";
return;
};

最佳答案

尝试 Canary:

如果您的计算机运行的是 Windows 或 OSX,您可以使用 Google Chrome Canary .只需安装插件并单击地址栏末尾的 session cookie 图标。它将打开一个包含其自己的 session 数据的新窗口。

关于使用两个 chrome 浏览器时,php 应用程序 session 会混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30621489/

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