Raik: HTTP_AUTH_DIGEST und der IE

Beitrag lesen

Hallo!

Ich hab einiges gelesen zu den Problemen mit dem IE, aber meine Erfahrungen widersprechen dem gerade.
das Script:

  
<?php  
$realm = 'Translator';  
$benutzer = array('admin' => 'mypass', 'gast' => 'gast');  
  
function authenticate($realm){  
    header('WWW-Authenticate: Digest realm="'.$realm.'", qop=auth, nonce="'.uniqid().'", opaque="'.md5($realm).'"');  
    header('HTTP/1.1 401 Unauthorized');  
    }  
  
if (empty($_SERVER['PHP_AUTH_DIGEST']) )authenticate($realm);  
  
if (!($daten = http_digest_parse($_SERVER['PHP_AUTH_DIGEST'])) || !isset($benutzer[$daten['username']])){  
    authenticate($realm);  
    die('Fehlerhafte Response des Browsers!');  
    }  
  
$A1 = md5($daten['username'].':'.$realm.':'.$benutzer[$daten['username']]);  
$A2 = md5($_SERVER['REQUEST_METHOD'].':'.$daten['uri']);  
$gueltige_antwort = md5($A1.':'.$daten['nonce'].':'.$daten['nc'].':'.$daten['cnonce'].':'.$daten['qop'].':'.$A2);  
  
if ($daten['response'] != $gueltige_antwort){  
    authenticate($realm);  
    die('Username oder Passwort falsch!');  
    }  
  
echo 'Sie sind angemeldet als: ' . $daten['username'];  
  
function http_digest_parse($txt) {  
    $noetige_teile = array('nonce'=>1,'nc'=>1,'cnonce'=>1,'qop'=>1,'username'=>1,'uri'=>1,'response'=>1);  
    preg_match_all('@(\w+)=([\'"]{0,1})([^\'",]+)@', $txt, $treffer);  
    $return = array_combine($treffer[1], $treffer[3]);  
 $return = array_intersect_key($return,$noetige_teile);  
    return (count($return)==7) ? $return : false;  
 }  
?>  
<a href="?test=blah&amp;blub=bl&ouml;">test</a>

Ich hab mir aus Multiple IE den standalone IE6 installiert.
Mit dem funktioniert das Aufrufen von Links mit Querystring einwandfrei. Dabei schneidet der IE6 den Querystring nicht ab, sondern gibt ihn im Request brav vollständig mit an.
der IE7 (mit IE7Pro Erweiterung) dagegen fordert bei jeden Linkclick, ob mit oder ohne Querystring erneut zur Identifizierung auf.

Die Theorie behauptet eigentlich das Gegenteil. Kann sich darauf jemand einen Reim machen?

freundl. Grüsse aus Berlin, Raik