문제

PHP5ISAPI.DLL을 사용하여 PHP 5.2.3에서 FASTCGI 및 PHP-CGI.EXE를 사용하여 PHP 5.3.0으로 마이그레이션했습니다. 이 사이트에는 Windows/NTLM/HTTP 인증 용 고리가 있습니다.

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.

이것은 ISAPI와 함께 PHP 5.2.3에서 잘 작동했습니다. 이제 IIS6에서 FastCGI로 옮겼으므로 깨졌습니다. 그것은 나를 위해 작동하지만 서버에 관리자가 있습니다. 관리자가없는 사람들 (대부분의 사람들)은 다음의 일부 변형을 봅니다.

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)

문서와 로그 파일을 통해 쟁기를 시도했지만 어떤 진전을 만들 수는 없습니다. 실제로 원격 사용자 이름이 내 .php 파일에 액세스하는 데 사용되는 것을 원하지 않으며 이름을 가져 와서 데이터베이스와 일치하고 싶습니다. ANON 사용자는 여전히 실제 PHP 실행을 수행하는 사람이어야합니다.

리드가 있습니까?

도움이 되었습니까?

해결책

약간의 진전이 있지만 아직 실제 해결책은 없습니다.

  1. 여기에서 조언을 따르는 것이 유용했습니다. Fastcgi 문서특히 보안 권장 사항 부분. 이로 인해 FASTCGI 500에서 PHP 오류 로그가 발생했습니다.

  2. PHP/IIS/FASTCGI는 ANON 사용자 대신 인증하려는 사용자가 무엇이든 시도하여 세션 디렉토리 (C : PHP Session)에 액세스하려고합니다.

  3. 해당 폴더의 "수정"권한을 "모든 사용자"로 설정하면 사이트가 원하는대로 작동 할 수 있습니다. 그러나 나는이 일을함으로써 내가 만든 보안 구멍이 얼마나 큰지 궁금합니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top