Не происходит авторизация

Ребят, нужна помощь - не работает режим сессии, при выходе и в принципе при неавторизации таблица с данными отображается, а должна только для тех кто зарегистрирован..

процесс авторизации (login.php)

<?php 

include 'db.php';

$login = filter_var(trim($_POST['login']), FILTER_SANITIZE_STRING);
$password = filter_var(trim($_POST['password']), FILTER_SANITIZE_STRING);

$hash = password_hash($password, PASSWORD_DEFAULT);

$result = mysqli_query($connection, "SELECT * FROM users WHERE 'login'= '$login'"); 
$check = mysqli_fetch_array($result);

 if (password_verify($password, $hash)) 
  {

    $_SESSION['logged_user'] = $login;
    header('Location: lk.php');

  } else 
    {
        exit ("Извините, введённый вами логин или пароль неверный.");
      }

Страница, после авторизации (lk.php):

<?php
  include ("db.php");
?>

<!DOCTYPE html>
<head>
<title> Тестовое задание - личный кабинет </title>
</head>
<body>
<?php
    
    if(isset($_SESSION['logged_user']))
    { 
?>
  <p> Привет, <?php echo $_SESSION['login'] ?> | <a href="exit.php">Выйти</a> </p> 
  <table border="1" cellpadding="10" cellspacing="5">
  <tr>
    <th>id</th>
    <th>Login</th>
    <th>password</th>
  </tr>
    <?php
        $r1 = mysqli_query($connection, "SELECT * FROM users");
        while ( ($us = mysqli_fetch_assoc ($r1)) )
          {
            echo '<tr><td>' . $us['id'] . '</td><td>' . $us['login'] . '</td><td>' . $us['password'] . '</td><tr>';
          }
    ?>
  </table>
    <?php
    }
      else
        {
          echo "Зарегистрируйтесь, чтобы просматривать эту страницу";
        }
     ?>
     
</body>
</html>

Выход из сессии оформлен через

unset($_SESSION['logged_user']);

Функцию начала сессии залил в db.php:

<?php

$connection = mysqli_connect('127.0.0.1', 'root', '', 'test_beeline');

if ($connection == false)
{
  echo 'Ошибка подключения';
  echo mysqli_connect_error();
  exit();
}

session_start();

Ответы (1 шт):

Автор решения: Alexander

Ты сравниваешь пароль с $_POST с хэшем, который создал от него же, далее условие будет исполняться всегда.

$password = filter_var(trim($_POST['password']), FILTER_SANITIZE_STRING);
$hash = password_hash($password, PASSWORD_DEFAULT);
→ Ссылка