Как запретить прямой доступ к файлу незалогиненым пользователям?
Для nginx —  X-Accel-Redirectheader('X-Accel-Redirect: ' . $file);
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
exit;
Для apache — XSendFileheader('X-SendFile: ' . realpath($file));
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
exit;
habrahabr.ru/post/151795
Отдавайте через php с проверкой авторизации...
А саму директорию deny all