Ja, da liegen schon ein paar andere rum.
Ich habe nachgedacht. Das Verzeichnis ist virtuell. Da kann man wie folgt vorgehen:
1.) Das Realm wird nur mittelbar vom Server, genauer vom Skript, welches die Header erzeugt, gesendet.
2.) Die Auswertung von Referer und angeforderter URI erfolgt vorher.
3.) Bleibt die Frage, wie man angemeldete Besucher ohne ein weiteres Cookie erkennen kann. Und in dem Punkt sehe ich schwarz:
siehe:
http://de.wikipedia.org/wiki/HTTP-Authentifizierung#Basic_Authentication
Sende ich nämlich das Realm, bekommt der nicht angemeldete Benutzer die Passwortabfrage angezeigt. Sende ich das Realm aber nicht wird sich der Browser eines angemeldeten Benutzers einen Dreck drum scheren, das ich wissen will, ob er angemeldet ist. Damit wird das Problem unlösbar.
Es bleibt:
1)
Extra-Cookie oder eine andere Art der Authentifizierung. (Selbst Gefummel mit Javascript dürfte zur Anzeige des Login-Fensters führen.)
2)
Oder darauf zu verzichten, angemeldete Benutzer zu erkennen, die über Links von dritten Seiten kommen.