dedlfix: Der IE frisst meine POST (-Daten)

Beitrag lesen

Hi!

Mir ist im IE nun aufgefallen das irgendwie alle Formulare nicht mehr funktionieren, es kommen einfach keine Daten mehr an.

Wie genau hast du das festgestellt? Hast du Kontrollausgaben gemacht, oder etwas anderes?

Nach etwas debuggen fand ich raus, dass der IE6,7 und 8 keine POST-Daten mehr schicken sobald auf dem virtuellen Server eine NTML Authentifizierung durchgeführt wurde. Es wird stattdessen nur das Authorization Feld im Header gesetzt. Das ganze passiert solange bis man alle Browserinstanzen schließt. Danach geht es wieder solange bis eine NTML Authentifizierung durchgeführt wird.

Was genau hast du da debuggt? Im Netzwerk gelauscht?

Der Testablauf sah wie folgt aus:

  1. Testskript http://ko006wxp-dev:8007/test.php aufrufen und Formular abschicken
    Post-Request:

Die Response(s) interessieren dich nicht oder warum führst du sie nicht auf? Schließlich verbraucht so ein NTLM-Geplänkel pro Ressource drei Request-Response-Vorgänge.

  1. Skript http://ko006wxp-dev:8007/fakelogin.php aufrufen und Authentifizierung durchführen,

NTLM findet zwar bei Schritt 1 nicht statt, aber hier wäre es durchaus nicht uninteressant.

  1. Wieder das Testskript http://ko006wxp-dev:8007/test.php aufrufen und das gleiche Formular noch mal senden
    POST /test.php?id=123 HTTP/1.1
    Authorization: NTLM TlZMRVNTUAABAAAAB7IIogUABQAwZZZZCAAIACgAAAAFASgKAAAAD0tPMDA2V1hTS1ZRTZA

Wie kommt es denn nun zu diesem Header seitens des Client? Üblicherweise folgt der auf einen 401er seitens des Servers. Außerdem, wenn man sich mal die Meldung base64-dekodiert fängt sie mit "NVLESSP" an. Mir ist nur bekannt, dass die NTLM-Nachrichten mit "NTLMSSP" anfangen. Das Type-Byte jedenfalls weist das als Type-1-Message aus. Auch ist verwunderlich, dass Google gar nichts zu "NVLESSP" weiß.

Lo!