|
|
Использование механизма Integrated Authentication в IIS |
    Для обеспечения безопасности Web-сайтов IIS исполняет
страницы в отдельном потоке (нити) или процессе в контексте безопасности
специального пользователя, обладающего минимальным набором прав на сервере.
Как правило этот пользователь имеет имя IUSR_<имя компьютера> (IWAM_<имя компьютера>) и создается
автоматически при установке IIS на сервер.
|
    Однако, зачастую в intranet-решениях необходимо
знать имя конкретного пользователя, зашедшего на страницу. IIS позволяет
выбирать метод аутентификации пользователей на страницах сайта. |
1. |
Anonymous access - анонимный доступ к сайту (отсутствие аутентификации), нить, в которой исполняется
страница, обладает контекстом безопасности пользователя IUSR_<имя компьютера>.
|
2. |
Integrated Windows authentication - механизм аутентификации пользователя, используемый
в ОС Windows. Нить, в которой исполняется страница, обладает контекстом безопасности
пользователя сети intranet.
|
|
Таким образом, для того, чтобы определить logon-имя пользователя, зашедшего
на сайт, необходимо использовать метод аутентификации Integrated Windows authentication.
Для этого откройте свойства сайта или виртуального каталога и на закладке Directory
Security нажмите кнопку Edit в разделе Anonymous access and authentication method.
Снимите галочку Anonymous Access и оставьте только одну галочку - Integrated Windows authentication. |
|
|
Установка PHP-процессора |
    PHP-процессор является cgi-приложением на вход которого подается
.php-модуль (файл), а на выходе Web-сервер получает отформатированную html-странцу,
готовую для отображения в браузере. Данный процессор является свободно распространяемым,
за счет чего и получил довольно широкую известность. Скачать последную стабильную
версию процессора можно с официального сайта www.php.net. |
    На сайте разработчика можно скачать два варианта дистрибутива: архив и инсталляционный файл.
Инсталляция PHP-процессора осуществляется всего в два этапа:
|
1. |
Скопируйте содержимое
архива в каталог c:\php (имя диска определяете вы сами); |
2. |
Откройте оснастку (MMC) для настройки IIS (Control Panel->Administrative Tools->Internet Information Services).
Откройте окно свойств для сайта (именно сайта, например, Default Web Site),
на закладке Home Directory в разделе Application Settings нажмите кнопку
Configuration. В открывшемся окне, на закладке Mappings нажмите кнопку
Add. В поле Executable укажите путь к PHP-процессору, например c:\php\php.exe,
в поле Extention укажите расширение .php-модуля, например, .php. Расширения
могут иметь произвольное нажвание (phtml, phpp и т.п.), однако учтите, что
если ваши страницы будут использоваться на сервере у хостера, то он может и не поддерживать
такое разнообразие расширений, так что лучше всегда использовать .php. |
|
    Настройка mapping-а расширений для всего сайта позволит использовать его и для
всех виртуальных каталогов, которые располагаются в данном сайте, так что вам не
придется для каждого каталога настраивать тот же самый mapping. |
|
Настройка отправки почтовых сообщений из PHP |
    
Отправка почтовых оповещений в PHP осуществляется посредством функции mail(...). Предварительно необходимо настроить сервер, на котором
располагается ваш сайт:
|
1. |
Установите виртуальный SMTP-сервер, который входит в стандартную комплектацию
Internet Information Services (IIS), то есть является компонентом операционной системы; |
2. |
Настройте конфигурационный файл php.ini, который располагается в каталоге WINNT (конфигурационный файл
может также находится в каталоге, в котором располагается PHP-процессор):
...
[mail function]
SMTP = <имя вашего сервера> ; for Win32 only
sendmail_from= <почтовый адрес отправителя по умолчанию> ; for Win32 only
...
|
3. |
Проверьте права доступа к каталогу inetpub\mailroot\pickup, необходимо, чтобы учетная запись,
под которой исполняется обработка страниц (сосбвенно ваш сайт), имела на него права чтения. |
|
|
Определение имени пользователя, зашедшего на сайт |
    
Определить имя учетной записи пользователя (logon name), зашедшего на сайт, можно только в том
случае, если сайт использует механизм утентификации типа Integrated Windows Authentication (см. Использование механизма Integrated Authentication в IIS).
В случае разрешения анонимного доступа, сайт будет исполняться в контексте безопасности пользователя IWAM_<server name>.
|
При использовании механизма втроенной аутентификации, контекст страницы дополняется переменной AUTH_USER:
<?php
echo stripslashes($GLOBALS['AUTH_USER']);
>
результат: TRINITY\Dos
|
    
|
|