Локальный сервер Xampp не различает сессии php от разных пользователей - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь построить интранет.Я проделал большую работу, пока не понял, что когда я захожу в свою интрасеть с моего компьютера, то на моем ноутбуке открывается тот же сеанс.Это очень плохо для локальной интрасети, представьте, что администратор входит в систему, и каждый пользователь в сети внезапно может открыть интрасеть без необходимости входа в систему.

Я использую очень простые сессии 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>

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 29 мая 2018

Я разобрался с проблемами.Прежде всего, очистите ваши куки, они очень плохо держатся.Во-вторых, если у вас есть сессия, созданная и указав пользовательский идентификатор, у вас возникнет эта проблема.Поскольку оба хоста будут использовать один и тот же идентификатор.

...