Как сделать определенные файлы доступными только для PHP-скриптов?

Я создаю CMS, а главная страница ( index.php ) создается из большого количества небольших файлов в каталоге CMS. Например, структура может быть такой:

 index.php menu/admin/content.php config.php requests.php menu/tools/content.php config.php requests.php menu/users/content.php config.php requests.php 

Когда я обращаюсь к index.php в корневом каталоге, я получаю другой результат, основанный на параметрах $_GET . Например, когда я обращаюсь к index.php?section=tools cofnig index.php?section=tools , индексный файл загружает content , cofnig и requests файлы из menu/tools/ folder.

Теперь к проблеме. Сама страница index.php доступна только для зарегистрированных пользователей, но по соображениям безопасности я хотел бы отключить все в папке menu из-за доступа любым другим способом, чем с помощью функции включения php.

Чтобы продемонстрировать, что может случиться: если я хочу что-то удалить, я использую index.php?section=tools&delete=5 , а в файле menu/tools/requests.php я бы установил, установлен ли $_GET['delete'] а затем удалите идентификатор 5 из БД. Теперь проблема в том, что, если кто-то знал фактическую структуру, он мог получить доступ к файлу site.com/admin/menu/tools/requests.php?delete=5 следующим образом: site.com/admin/menu/tools/requests.php?delete=5 и взломать сайт, который путь.

Есть ли способ предотвратить подобные атаки? Что-то, чтобы запретить доступ к файлам в папке меню, но все же позволить им получить доступ из моего файла index.php? Может быть? Мне действительно не хочется помещать чек (если session / cookie установлен) в каждый отдельный файл в папке «menu», хотя это было бы возможным решением.

Related of "Как сделать определенные файлы доступными только для PHP-скриптов?"