本地 Xampp 服务器不区分来自不同用户的 php 会话
Local Xampp Server doesn't differentiate php sessions from different users
我正在尝试构建一个 Intranet。我做了一大堆工作,直到我意识到当我从我的 PC 登录到我的内部网然后在我的笔记本电脑上时,我打开了相同的会话。这对于本地 Intranet 来说是非常糟糕的,想象一下管理员登录后网络中的每个用户突然都可以打开 Intranet 而无需登录。
我使用的是非常简单的 php 会话,但无论出于何种原因,它都不允许我区分不同的网络用户。我已经尝试了多个其他示例代码,但它们都有同样的问题。
例如其中之一:
<?php session_start(); ?>
<?php
if(isset($_SESSION['use']))
{
header("Location:home.php");
}
if(isset($_POST['login']))
{
$user = $_POST['user'];
$pass = $_POST['pass'];
if($user == "Admin" && $pass == "1234")
{
$_SESSION['use']=$user;
echo '<script type="text/javascript"> window.open("home.php","_self");</script>';
}
else
{
echo "invalid UserName or Password";
}
}
?>
<html>
<head>
<title> Login Page </title>
</head>
<body>
<form action="" method="post">
<table width="200" border="0">
<tr>
<td> UserName</td>
<td> <input type="text" name="user" > </td>
</tr>
<tr>
<td> PassWord </td>
<td><input type="password" name="pass"></td>
</tr>
<tr>
<td> <input type="submit" name="login" value="LOGIN"></td>
<td></td>
</tr>
</table>
</form>
</body>
</html>
这是它转到的页面:
<?php session_start(); ?>
<html>
<head>
<title> Home </title>
</head>
<body>
<?php
if(!isset($_SESSION['use']))
{
header("Location:Login.php");
}
echo $_SESSION['use'];
echo "Login Success";
echo "<a href='logout.php'> Logout</a> ";
?>
</body>
</html>
非常感谢任何帮助。
我发现了问题。首先清除你的饼干,它们粘得很厉害。其次,如果您创建了一个会话并指定了一个自定义 ID,那么您将遇到这个问题。由于两个主机将使用相同的 ID。
我正在尝试构建一个 Intranet。我做了一大堆工作,直到我意识到当我从我的 PC 登录到我的内部网然后在我的笔记本电脑上时,我打开了相同的会话。这对于本地 Intranet 来说是非常糟糕的,想象一下管理员登录后网络中的每个用户突然都可以打开 Intranet 而无需登录。
我使用的是非常简单的 php 会话,但无论出于何种原因,它都不允许我区分不同的网络用户。我已经尝试了多个其他示例代码,但它们都有同样的问题。
例如其中之一:
<?php session_start(); ?>
<?php
if(isset($_SESSION['use']))
{
header("Location:home.php");
}
if(isset($_POST['login']))
{
$user = $_POST['user'];
$pass = $_POST['pass'];
if($user == "Admin" && $pass == "1234")
{
$_SESSION['use']=$user;
echo '<script type="text/javascript"> window.open("home.php","_self");</script>';
}
else
{
echo "invalid UserName or Password";
}
}
?>
<html>
<head>
<title> Login Page </title>
</head>
<body>
<form action="" method="post">
<table width="200" border="0">
<tr>
<td> UserName</td>
<td> <input type="text" name="user" > </td>
</tr>
<tr>
<td> PassWord </td>
<td><input type="password" name="pass"></td>
</tr>
<tr>
<td> <input type="submit" name="login" value="LOGIN"></td>
<td></td>
</tr>
</table>
</form>
</body>
</html>
这是它转到的页面:
<?php session_start(); ?>
<html>
<head>
<title> Home </title>
</head>
<body>
<?php
if(!isset($_SESSION['use']))
{
header("Location:Login.php");
}
echo $_SESSION['use'];
echo "Login Success";
echo "<a href='logout.php'> Logout</a> ";
?>
</body>
</html>
非常感谢任何帮助。
我发现了问题。首先清除你的饼干,它们粘得很厉害。其次,如果您创建了一个会话并指定了一个自定义 ID,那么您将遇到这个问题。由于两个主机将使用相同的 ID。