2009-08-24 5 views
3

Ich habe gerade von PHP 5.2.3 mit php5isapi.dll zu PHP 5.3.0 mit FastCGI und php-cgi.exe migriert. Auf dieser Seite habe ich Haken für Fenster/NTLM/HTTP-Authentifizierung so etwas wie dies zu tun:Ist HTTP-Authentifizierung mit PHP auf IIS FastCGI möglich?

if(empty($_SERVER["REMOTE_USER"])) 
{ 
header("HTTP/1.1 401 Unauthorized"); 
exit; 
} 
$winuser = $_Server["REMOTE_USER"]; 

//parse $winuser to make sure it is on my domain, and can login to the site. 
//set a cookie specifying that this user is logged in 
//redirect to site. 

Das unter PHP gut geklappt 5.2.3 mit isapi. Jetzt, da ich auf IIS6 zu FastCGI gewechselt habe, ist es defekt. Es funktioniert für mich, aber ich habe Administrator auf dem Server. siehe Diejenigen ohne Administrator (die meisten Menschen) eine Variante der folgenden Möglichkeiten:

FastCGI Error 
The FastCGI Handler was unable to process the request. 
________________________________________ 
Error Details: 
• The FastCGI process exited unexpectedly 
• Error Number: -1073741819 (0xc0000005). 
• Error Description: Unknown Error 
HTTP Error 500 - Server Error. 
Internet Information Services (IIS) 

ich versucht habe, durch Dokumentation Pflügen und Log-Dateien, kann aber nicht scheinen, um irgendwelche Fortschritte zu machen. Ich möchte eigentlich nicht, dass der Remote-Benutzername für den Zugriff auf meine .php-Dateien verwendet wird. Ich möchte nur den Namen und die Übereinstimmung mit meiner Datenbank abrufen. Der anon-Benutzer sollte immer noch derjenige sein, der die eigentliche PHP-Ausführung ausführt.

Irgendwelche Kabel?

Antwort

0

Einige Fortschritte, aber noch keine echte Lösung.

  1. den Rat hier Nach nützlich war: FastCGI Docs Vor allem die Sicherheitsempfehlungen Abschnitt. Dies brachte meine Fehler aus FASTCGI 500 und in das PHP-Fehlerprotokoll.

  2. Es scheint, dass PHP/IIS/FastCGI auf das Sitzungsverzeichnis zugreifen möchte (mein ist C: \ PHP \ Session) über den Benutzer, der versucht, sich anstelle des Anon-Benutzers zu authentifizieren.

  3. Wenn Sie die Berechtigung "Ändern" für diesen Ordner auf "Alle Benutzer" setzen, kann die Site wie gewünscht arbeiten. Ich frage mich dann aber, wie groß ein Sicherheitsloch ist, das ich dadurch erstelle ...