Есть у меня сайт с единой точкой входа, но при попытке перейти по прямой ссылке можно зайти в закрытые разделы сайта. Как можно запретить переходить на страницы по прямым ссылкам? (Типа example.com/admin/ahome.php не должно работать, а example.com/ahome - должно работать)
Для апача запретить доступ к файлу можно так
<FilesMatch ~ "ahome\.php$">
Order allow,deny
Deny from all
</FilesMatch>
несколько файлов
<FilesMatch ~ "(ahome|xxx|example)\.php$">
Order allow,deny
Deny from all
</FilesMatch>
Также можно запретить доступ к папке разместив в ней файл .htacсess со строкой
Deny from all
Под nginx есть похожая функциональность.
Не претендую на лучшее решение, но я бы сделал так:
$_SESSION['trigger'] = "1";То есть суть изначально в том, чтобы разделить тех, кому доступ давать и кому нет.
Если же Вам надо ограничить доступ для всех, или для всех, кроме используемого ip, то воспользуйтесь примером Ivan Bolnikh, добавив в исключения необходимый ip.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости