Наверное, самый безопасный способ - что-то вроде этого
$allowed_files = array("/paths/", "/that/", "/are/", "/allowed/");
if(!in_array($_SERVER['PHP_SELF'], $allowed_files))
{
die("Not Allowed");
}
Заполните массив файлами, к которым вы хотели бы иметь доступ. (Возможно, вам придется получить доступ к PHP self на каждой странице, которую вы хотите, скопировать и вставить ее). Это проверит, чтобы убедиться, что исполняемый файл является одной из разрешенных страниц. Если это не так, сценарий умрет.
Я верю, что $ _SERVER можно изменить, но, вероятно, не удастся. Этот файл все еще можно будет получить с помощью fopen или file_get_contents, и если кто-то прочитает его, он будет знать, что изменить.
Но я бы предупредил, что это не «полностью безопасно», потому что на самом деле нет способа сделать что-то «полностью» безопасным.