Какая должна быть правильная авторизация на php?
Лучше всего навигацию по сайту реализовывать через паттерн проектирования, например, самые классические MVC/HMVC или компонентные. Тогда у вас будет всего одна точка входа в систему и не придётся в каждом скрипте писать проверки, инклуды и тд.
Далее, касательно самой авторизации - тут тоже масса вариантов реализации, но самый минимальный и более-менее правильный вариант - организовать проверку на сессиях или куках, проверять методом наличие сессии или куки, если есть - пользователь авторизован, делать перенаправление со страницы авторизации на нужную, либо же динамически отдавать контент, в зависимости от того как у вас там спроектирована система. Если нет - отдать контент страницы авторизации или перенаправить на нее. SEO здесь так же влияет, если необходима индексация страницы авторизации, то только перенаправлять.
Чтоб сессии работали, ничего инклудить не обязательно, главное чтоб вначале скрипта всегда выполнялся session_start(). В итоге проверка отработает на всех ваших скриптах страниц, которые должны делать редирект в случае если пользователь не авторизован.
php.net/manual/ru/session.examples.basic.php
Добавлю:
Закрыть можно через использование доп.расширения.
Например: file.inc.php и все, где есть .inc - можно закрыть в .htaccess
Однако, чаще закрывают через проверку константы, которая задаётся только в головном файле скрипта.
Также, можно настроить через .htaccess все обращения на один php-файл.
тогда и закрывать ничего не нужно будет.