Я думаю, вам может понадобиться написать скрипт, который будет обслуживать изображения, а затем использовать htaccess, чтобы полностью ограничить доступ к реальным изображениям из браузера.
Сценарий может взять веб-путь к изображению, решить, есть ли у пользователя доступ, а затем использовать что-то вроде fpassthru для передачи фактического изображения в браузер.
Однако все ссылки на изображения необходимо будет изменить, чтобы они ссылались на сценарий обслуживания.
Так что вместо доступа к изображениям с помощью /images/123/5423453245.jpg,
это будет /image.php?images/123/5423453245.jpg
Или что-то похожее на это.