Also, ich glaube, da ist ein Mißverständnis. Ich schicke dem Brwoser nichts.
Wie ich schon schrieb: Wenn Du dem Browser nichts schickst, kann er auch nichts anzeigen, wenn "Abbrechen" gedrückt wird.
if(!isset($PHP_AUTH_USER)) {
Header("WWW-Authenticate: Basic realm="My Realm"");
Header("HTTP/1.0 401 Unauthorized");
aber den if-Zweig erreiche ich da auch, wenn kein User übergeben wurde. [..] nur den Abbrechen-Button nicht.
Und warum ist es für Dich so unangenehm, den Fall "Benutzer hat keine Zugangsdaten" und den Fall "Benutzer hat keine Zugangsdaten und bricht den Vorgang ab" als ein- und denselben zu behandeln?
Das Protokoll sieht jedenfalls keine Unterscheidung vor, es gibt nur die Nachricht, dass Zugangsdaten benötigt werden.