ID:               19207
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Verified
+Status:           Critical
 Bug Type:         IIS related
 Operating System: Windows 2000/.Net Server RC1
 PHP Version:      4CVS-2002-08-30
 New Comment:

Marking this critical (fix before 4.3.0 final).
See the related discussion
http://www.phpbuilder.com/mail/php-developer-list/2002092/0238.php



Previous Comments:
------------------------------------------------------------------------

[2002-09-24 13:03:38] [EMAIL PROTECTED]

I'm currently using IIS 6.0 in Windows.Net Server RC1 (build 3663). 
Again, CGI PHP 4.2.2/4.2.3 works fine just not CGI PHP 4.3.0.

------------------------------------------------------------------------

[2002-09-24 11:48:11] [EMAIL PROTECTED]

what version of IIS are you using.. this works fine on Win XP Pro (No
service pack) so IIS 5.0.

- James
--  
James Moore
[EMAIL PROTECTED]

------------------------------------------------------------------------

[2002-09-05 11:22:02] [EMAIL PROTECTED]

Just tried the latest snapshot php4-win32-200209051400.zip and the
issue still exists.  php-cgi.exe returns the following headers:

Status: 401
Content-type: text/html
WWW-authenticate: basic realm=Logon

The correct headers for php-cgi.exe to work in IIS should be:

HTTP/1.1 401 Unauthorized
Content-type: text/html
WWW-authenticate: basic realm=Logon

------------------------------------------------------------------------

[2002-09-04 21:30:20] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-latest.zip

I believe there was just a patch submitted that fixes this.  I could be
wrong though too, please test and update if still valid. :\

------------------------------------------------------------------------

[2002-08-30 20:09:13] [EMAIL PROTECTED]

The following code fragment works great with PHP 4.2.2 on IIS:

  Header("WWW-authenticate: basic realm=Logon");
  Header("HTTP/1.1 401 Unauthorized");
  echo "<HTML>\n";
  echo " <HEAD>\n";
  echo " <TITLE>Authorization Required</TITLE>\n";
  echo " </HEAD>\n";
  echo " <BODY BGCOLOR=#FFFFFF TEXT=#000000>\n";
  echo "  Invalid username and password with which to access this
webpage.<P><br><br>\n";
  echo " </BODY>\n";
  echo "</HTML>\n";
  exit;

This code works correctly in 4.2.2.  It sets the status of the page to
401 and makes the browser prompt for the password.

However using php-cgi.exe in the latest 4.3.0 development builds in IIS
the code does not work.  The browser receive a "HTTP/1.1 200 OK"
instead of "HTTP/1.1 401 Unauthorized".  If I simply run the CGI script
from the command prompt using php-cgi.exe in 4.3.0 I get the
following:

Status: 401
Content-type: text/html
WWW-authenticate: basic realm=Logon

<HTML>
 <HEAD>
 <TITLE>Authorization Required</TITLE>
 </HEAD>
 <BODY BGCOLOR=#FFFFFF TEXT=#000000>
  Invalid username and password with which to access this
webpage.<P><br><br>
 </BODY>
</HTML>

Running php.exe 4.2.2 from the console I get the following:

HTTP/1.1 401 Unauthorized
Content-type: text/html
WWW-authenticate: basic realm=Logon

<HTML>
 <HEAD>
 <TITLE>Authorization Required</TITLE>
 </HEAD>
 <BODY BGCOLOR=#FFFFFF TEXT=#000000>
  Invalid username and password with which to access this
webpage.<P><br><br>
 </BODY>
</HTML>

Noticed that php 4.2.2 correctly returns the HTTP page status as
"HTTP/1.1 401 Unauthorized" and php 4.3.0 only returns the tag "Status:
401".

The new tag "Status: 401" does not work in IIS, it needs to be the full
"HTTP/1.1 401 Unauthorized".

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=19207&edit=1

Reply via email to