Если перифразировать вопрос так : как дать возможность открывать файл только с помощью аякса , но не давать по прямой ссылке то ответ прост:
Проверяй что это аякс запрос и если это не он то выходите.
Пример проверки:
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
// аякс
}else{
// не аякс
}
Конечно это не защита от хакеров и тп. Только защита от прямого открытия в браузеру
Такой заголовок может добавить кто угодно.