Как закрыть доступ к странице, если пользователь не авторизован?

Для закрытия доступа к странице в PHP, если пользователь не авторизован, можно применить несколько подходов. В этом ответе я рассмотрю два наиболее распространенных метода.

Первый способ - использование условных операторов. В начале страницы, где требуется авторизация, можно проверить, авторизован ли пользователь. Если он не авторизован, можно перенаправить его на другую страницу, сообщив о том, что доступ закрыт. Для этого можно использовать функцию header() для перенаправления пользователя на другую страницу. Код может выглядеть следующим образом:

<?php
session_start(); // запускаем сессию, если она еще не запущена

// проверяем, авторизован ли пользователь
if (!isset($_SESSION['loggedin'])) {
    // пользователь не авторизован, перенаправляем на страницу с сообщением о закрытом доступе
    header('Location: access_denied.php');
    exit(); // останавливаем выполнение скрипта, чтобы избежать дальнейшей загрузки страницы
}

// код страницы, доступ к которой разрешен только авторизованным пользователям
?>

Второй способ - использование функций и классов для обработки авторизации. Можно создать класс, который будет содержать методы для проверки авторизации и обработки страницы. Например:

<?php
session_start(); // запускаем сессию, если она еще не запущена

class AuthHandler {
    public function checkAuth() {
        if (!isset($_SESSION['loggedin'])) {
            // пользователь не авторизован, перенаправляем на страницу с сообщением о закрытом доступе
            header('Location: access_denied.php');
            exit();
        }
    }

    public function processPage() {
        // код страницы, доступ к которой разрешен только авторизованным пользователям
    }
}

$authHandler = new AuthHandler();
$authHandler->checkAuth();
$authHandler->processPage();
?>

Такой подход позволяет вынести проверку авторизации в отдельный класс, что делает код чище и упрощает его поддержку.

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