Bom dia Elton, existem diversas maneiras de evitar que um usuário tenha acesso a partes restritas no site, a primeira que posso citar é usar frameworks, por exemplo: Laravel, Yii, CodeIgniter entre outros, a maioria tem aqui no alura.
Essas soluções já vem com um sistema para colocar autenticação de usuários e restrições de páginas, são bem mais fáceis de serem usados pois já vêm prontos, porém requer um conhecimento maior em PHP.
Nada impede que você faça isso tudo no hard code, ou seja fazer na mão utilizando funções do PHP como
$_SESSION;
$_COOKIE;
Essas funções fazem você saber se um usuário teve uma sessão iniciada em seu site e se teve fazer a verificação.
Claro que aqui não dei uma aula sobre como fazer, mas deixei as ferramentas que você pode procurar para aprender, o assunto é um pouco extenso para ser posto aqui.