È possibile l'autenticazione HTTP con PHP su IIS FastCGI?
-
19-09-2019 - |
Domanda
Ho appena migrato da PHP 5.2.3 utilizzando php5isapi.dll a PHP 5.3.0 utilizzando FastCGI e php-cgi.exe. Su questo sito ho ganci per Windows / autenticazione NTLM / http fare qualcosa di simile:
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.
Questo ha funzionato solo grande sotto PHP 5.2.3 con ISAPI. Ora che ho trasferito a FastCGI in IIS6, si è rotto. Funziona per me, ma io ho amministratore sul server. Quelli senza amministratore (la maggior parte delle persone) vedono una qualche variante del seguente:
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)
Ho cercato di arare attraverso la documentazione e file di log, ma non riesco a fare alcun passo avanti. Io in realtà non voglio che il nome utente remoto da utilizzare per accedere ai miei file .php, voglio solo prendere il nome e l'incontro al mio database. L'utente anon dovrebbe essere ancora quello che fa l'effettiva esecuzione php.
Qualche pista?
Soluzione
Qualche progresso, ma nessuna vera soluzione ancora.
-
Seguendo il consiglio qui è stato utile: FastCGI Documenti Soprattutto le Raccomandazioni Sicurezza . Questo ha ottenuto i miei errori di FastCGI 500 e nel registro degli errori php.
-
Sembra che PHP / IIS / FastCGI vuole accedere alla directory di sessione (il mio è C: \ PHP \ Session) tramite qualunque utente tenta di eseguire l'autenticazione invece dell'utente anon.
-
Impostazione "Modifica" le autorizzazioni per quella cartella a "All Users" permette al sito di lavoro, se lo desideri. Comunque, sto quindi chiedendo come grande di un buco di sicurezza Sto creando in questo modo ...