Этот синтаксис может быть немного неправильным, поэтому, пожалуйста, прости меня, если он не работает без небольшой настройки.
Вне защищенного каталога у вас может быть файл, скажем "secret.php".В нем:
<?php
header('Content-type: image/png'); //Change to whatever filetype
echo file_get_contents('/path/to/file/image.png');
?>
Это работает, потому что он читает файл в файловой системе , а не через сервер, который вызывает аутентификацию.
Вы можете настроить параметры навведите имя файла (будьте очень осторожны !!!! люди могут получить доступ к вещам, которые вам не нужны) и обработать тип контента.