warum nicht gleich richtig? Ohne einen Passwortschutz ist das alles reichlich sinnlos,
Sehen wir mal, was Rolf gezeigt hat:
1. Verteidungslinie: Ordner und Bilder NIRGENDWO verlinken oder auch nur nennen UND klassische, erratbare Ordnernamen vermeiden (statt dessen zufälliger Name)
2. Verteidungslinie: In der .htaccess einen Alias setzen, welche Zugriffe via HTTP auf eben diesen Ordner auf einen nicht existenten Ordner verweist.
Test:
Alias "/foo" "/bar"
Hierzu sagt mein Apache via error.log:
/var/www/test/.htaccess: Alias not allowed here
Einem Angreifer wird verraten, dass das Verzeichnis wahrscheinlich(sic!) existiert. Meiden.
Aber ein Rewrite geht und ist „Alias genug“:
RewriteEngine On
RewriteRule "^guuvzvtUZT345u56JhGjuUr86/.*$" "/fake404.html" [R=404, L]
Freilich muss der Hoster dazu mod_rewrite erlauben...
Alternative:
chmod a-rwx .htaccess
Das Verzeichnis wird unbenutzbar, aber der „Angreifer“ bekommt verpetzt, dass das Verzeichnis existiert. Meiden.
3. Verteidungslinie: Deine Idee mit dem Passwortschutz sollte, so Rolf, zusätzlich aufgegriffen werden. (Das ist dann die Dritte Verteidigungslinie)
Klar ist, dass das all dieses die zweitbeste Lösung ist, aber die beste (Ordner außerhalb von Dokument-Root) geht halt nicht.
Ergänzend zur 1. Verteidigungsline: Nichts ist dümmer als das Verzeichnis in einer robots.txt zu nennen oder sonstwie darum zu bitten, dieses nicht zu öffnen. Da kann man auch eine Bank eröffnen, im Kundenbereich einen Taster installieren und daneben ein Schild aufstellen: „Diesen Knopf nicht drücken, sonst geht der Tresor auf und nicht wieder zu.“