会话ID即使在注销后也已设置

时间:2019-02-05 16:15:32

标签: php html session

我正在尝试使用会话来仅允许授权用户访问我的网站。

现在,这是我的主页:

/

这里的问题是当我将用户重定向到index.php时,如下所示:

   <?php session_start(); ?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>

<?php
  require 'dbConfigBDO.php';
  require 'message.php';
  require 'SafeRedirect.php';

  if (isset($_POST['username']) AND isset($_POST['pass']))
  {
     $_SESSION['message'] = '';
     $username = $_POST['username'];
     $password = $_POST['pass'];

     $response= $conn->prepare('SELECT username,pass
                FROM AdminTable
                WHERE username = :nom
              ');
      $response->bindValue(':nom',$username,PDO::PARAM_STR);
      $response->execute();
      $member = $response->Fetch();
      $response->CloseCursor();

     if(!$member) exit('اسم المستخدم غير صحيح');
     if($password !== $member['pass']) exit('كلمة المرور غير صحيحه');

     $_SESSION['id'] = $member['username'];
     $_SESSION['message'] = htmlspecialchars($user). ' تم تسجيل دخولك بنجاح  ';
     safe_redirect('index.php');
     exit;
  }
?>

<!-- Log in:
First read name and password:-->
<form action="" method="post" id="form">
    <fieldset class="form-item">
        <legend>الدّخول</legend>
        <label for="email">الاسم</label><input type="text" name="username" id="username"><br>
        <label for="pass">كلمة المرور</label><input type="password" name="pass" id="pass">
    </fieldset>
    <fieldset class="form-submit">
        <input type="submit" value="موافق">
    </fieldset>
</form>
</body>
</html>

现在,当我按注销时,我应该无法访问页面index.php,对吗? 问题是我仍然可以! 我尝试打印会话ID,即使注销也不会更改。我用

<?php
session_start();
require 'message.php';
require 'SafeRedirect.php';
$_SESSION['message'] = '';
$session_id = (isset($_SESSION['id'])) ? $_SESSION['id'] : null;

if($session_id == null)
{
  $_SESSION['message'] = htmlspecialchars($user). ' Please sign in first... ';
   safe_redirect('login.php');
   exit;
}
?>
<a href="logout.php">
click here to log out</a>

我的代码很久以前曾在另一个网站上运行,但现在不行,我真的很困惑,从那时起我所做的更改。

0 个答案:

没有答案