Sauberer wäre es IMO, du würdest auf HTTP-AUTH verzichten, dann die Bilder in ein Verzeichnis legen, das mit HTTP gar nicht erreichbar ist (also außerhalb des Document Root) und sie ebenfalls mit PHP ausliefern. Dieses PHP-Script prüft dann die Berechtigung anhand des Login-Status und kann sogar im Fehlerfall ein Ersatzbild ausliefern.
Das kostet aber einiges an Serverleistung, weil dann jedes Bild mit einem PHP-Schaufelchen über die Sicherheitsbarriere geschippt werden muss, statt direkt ausgeliefert zu werden.
Wenn es daran hängen sollte, dann hat der Server aber wirklich zu geringe Leistungsreserven.
Wie es geht:
- Ex-Artikel "PHP/Anwendung und Praxis/Loginsystem" (als PDF, ca, 325 kB)
(Dort ab Seite 17 "Schutz von Ressourcen, welche keine PHP-Skripte sind")