[英]php app sessions are confused when working with two chrome browsers
我有一個MySQL數據庫的php應用程序。 用戶及其密碼存儲在數據庫中。 問題是,有時,幾個用戶同時在同一台計算機上工作,每個用戶都有其會話。 當我們將系統與Internet Explorer一起使用時,它運行良好,但現在開始使用google chrome。 發生的情況是會話被混淆,用戶“ x”突然執行某些操作,該會話成為會話用戶“ Y”。 希望您能對我有所幫助,因為我不想返回Internet Explorer。 謝謝。
在這里,我將代碼保留為打開會話:
$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頁面時都會執行此代碼(session_id每次在URL中作為“登錄名”發送):
$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;
};
試試金絲雀:
如果您的計算機運行Windows或OSX,則可以使用Google Chrome Canary 。 只需安裝插件,然后單擊地址欄末尾的會話cookie圖標即可。 它將使用自己的會話數據打開一個新窗口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.