Как логически правильно организовать контроль авторизованного? Ну установил я сессию и проверяю, есть ли она, подгружаю разный шаблон туда по условию, вынес в общий контроллер от него остальные наследуются. Ну и нахожусь я в каком-то контроллере, и сессия умерла и шаблон изменился, но вьюха-то осталась))) Мне же нужно на начальную редирект какой-то, а если закрыл браузер и открываю по начальной и авторизован, то мне же на сайт редирект нужно с неё тоже ) Пока что придумал в общем контроллере (чтобы в каждом контроллере не чекать сессию) проверять сессию и соответствует ли текущий контроллер наличию сессии. Кто-то может подскажет простой материал по удержанию авторизованного? На ООП.
Для правильной организации контроля авторизации в вашем приложении на ООП вам нужно следовать принципам SOLID и использовать паттерн фронт-контроллера.
Фронт-контроллер: Создайте центральный контроллер, который будет обрабатывать все запросы пользователя. В этом контроллере вы будете проверять наличие сессии и соответствие текущего контроллера авторизации.
Сессия: Сохраняйте информацию о сессии пользователя в зашифрованных файлах или базе данных. Проверяйте наличие сессии при каждом запросе и обновляйте ее при входе пользователя в систему.
Редиректы: Если сессия умерла или пользователь не авторизован, редиректите его на страницу входа или на другую страницу в зависимости от логики вашего приложения.
Наследование: Используйте наследование контроллеров для упрощения вашего кода. Создайте базовый контроллер, который будет содержать логику проверки сессии, и наследуйте все остальные контроллеры от него.
Безопасность: Обязательно используйте защищенное соединение (HTTPS) для передачи данных между клиентом и сервером, чтобы предотвратить атаки перехвата данных.
Для дополнительного изучения рекомендую изучить материалы по паттернам проектирования и разработке веб-приложений на ООП, такие как курс "ООП и паттерны проектирования на PHP" на платформе Coursera. Также рекомендую книгу "PHP Objects, Patterns, and Practice" Мэтта Зандстры, которая предоставляет примеры и лучшие практики по разработке на ООП.
Для правильной организации контроля авторизации в вашем приложении на ООП вам нужно следовать принципам SOLID и использовать паттерн фронт-контроллера.
Фронт-контроллер: Создайте центральный контроллер, который будет обрабатывать все запросы пользователя. В этом контроллере вы будете проверять наличие сессии и соответствие текущего контроллера авторизации.
Сессия: Сохраняйте информацию о сессии пользователя в зашифрованных файлах или базе данных. Проверяйте наличие сессии при каждом запросе и обновляйте ее при входе пользователя в систему.
Редиректы: Если сессия умерла или пользователь не авторизован, редиректите его на страницу входа или на другую страницу в зависимости от логики вашего приложения.
Наследование: Используйте наследование контроллеров для упрощения вашего кода. Создайте базовый контроллер, который будет содержать логику проверки сессии, и наследуйте все остальные контроллеры от него.
Безопасность: Обязательно используйте защищенное соединение (HTTPS) для передачи данных между клиентом и сервером, чтобы предотвратить атаки перехвата данных.
Для дополнительного изучения рекомендую изучить материалы по паттернам проектирования и разработке веб-приложений на ООП, такие как курс "ООП и паттерны проектирования на PHP" на платформе Coursera. Также рекомендую книгу "PHP Objects, Patterns, and Practice" Мэтта Зандстры, которая предоставляет примеры и лучшие практики по разработке на ООП.