Возможна ли аутентификация HTTP с PHP на IIS FastCGI? - PullRequest
3 голосов
/ 25 августа 2009

Я только что перешел с PHP 5.2.3, используя php5isapi.dll, на PHP 5.3.0, используя FastCGI и php-cgi.exe. На этом сайте у меня есть хуки для аутентификации 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.

Это прекрасно работает под PHP 5.2.3 с isapi. Теперь, когда я перешел в FastCGI на IIS6, он не работает. У меня это работает, но у меня есть администратор на сервере. Те, у кого нет администратора (большинство людей) видят некоторые варианты следующего:

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 Ответ

0 голосов
/ 25 августа 2009

Некоторый прогресс, но пока нет реального решения.

  1. Следуя советам здесь было полезно: FastCGI Docs Особенно раздел Рекомендации по безопасности . Это вывело мои ошибки из FASTCGI 500 в журнал ошибок php.

  2. Похоже, что PHP / IIS / FastCGI хочет получить доступ к каталогу сеанса (у меня C: \ PHP \ Session) с помощью любого пользователя, который пытается аутентифицироваться, а не пользователя anon.

  3. Установка разрешений «Изменить» для этой папки на «Все пользователи» позволяет сайту работать по своему усмотрению. Однако мне интересно, насколько большую дыру в безопасности я создаю, делая это ...

...