Bug #11578 Updated: http header order not respected and messages not transmitted

From: Date: Wed, 20 Jun 2001 16:14:28 +0000
Subject: Bug #11578 Updated: http header order not respected and messages not transmitted
Groups: php.dev 
Request: Send a blank email to php-dev+get-57417@lists.php.net to get a copy of this message
ID: 11578 Updated by: rasmus Reported By: xavier.galai@free.fr Status: Open Bug Type: HTTP related Operating system: PHP Version: 4.0.5 Assigned To: Comments: Are you using the Apache module version of PHP on Windows or the standalone CGI binary version? And what do you mean the headers are in the wrong order? The order of HTTP headers is not significant. Previous Comments: --------------------------------------------------------------------------- [2001-06-20 09:10:55] xavier.galai@free.fr <? //------------------------------------ // description : ntlm authentification module //------------------------------------ //get the msg wich is contained in the headers of the apache server. function get_msg_auth() { //$msg="no auth scheme//"; $headers = getallheaders(); while (list($header, $value) = each($headers)) { if ($header == "Authorization") { $msg=$value; } } $msg=substr($msg,5,strlen($msg)); return $msg; } //return to the browser the first step of the ntlm authentification schema. function beginntlm() { header("HTTP/1.1 401 accès refusé"); header("WWW-Authenticate: NTLM"); } //send the msg2 to the client. function putmsg2($msg) { header("HTTP/1.1 401 accès refusé"); header("www-authenticate: NTLM ".$msg); return($msg); } //do the authentification function ntlm_auth () { $fp = fopen("c:/test.txt","w+"); beginntlm(); fwrite($fp,"msg1 = "); fwrite($fp,get_msg_auth()); fwrite($fp,"nmsg2 = "); //msg2 not in the script cause it is too big fwrite($fp,putmsg2("TlRMTVNTUAACAAAADAAMADAAAAAFgoGgPhfzJ50JifsAAAAAAAAAAHIAcgA8AAAARABPAE0ARwBFAE4AAgAMAEQATwBNAEcARQBOAAEAHABTAFIAVgBHAEUAVABJAFQAXwBJAFMAUwBZADEABAAMAGQAbwBtAGcAZQBuAAMAKgBzAHIAdgBnAGUAdABpAHQAXwBpAHMAcwB5ADEALgBkAG8AbQBnAGUAbgAAAAAA")); fwrite($fp,"nmsg3 = "); fwrite($fp,get_msg_auth()); fclose($fp); } ntlm_auth(); // header("location: index.php"); ?> the following code is working(IE only..), i get the correct test.txt but if i uncomment the last line "header(location..=) the redirection is done but the auth header are not correct.. i've used tcpdump to see what is the problem and i've find that the header are not transmitted in the correct order and are modified.... i doesn't know if its the apache fault or the php optimer fault by my compagny really wait for a php version that permit to send and to get the headers correctly.. Thanks a lot the php used is the binary for win32 with default modules and default php.ini (apache is used) php is used an module of apache. --------------------------------------------------------------------------- ATTENTION! Do NOT reply to this email! To reply, use the web interface found at http://bugs.php.net/?id=11578&edit=2

« previous php.dev (#57417) next »