непонимание момента документации " HTTP authentication"

young

Новичок
непонимание момента документации " HTTP authentication"

В мануале http://www.php.net/manual/en/features.http-auth.php написано:

The HTTP Authentication hooks in PHP are only available when it is running as an Apache module and is hence not available in the CGI version. In an Apache module PHP script, it is possible to use the header() function to send an "Authentication Required" message to the client browser causing it to pop up a Username/Password input window.
что понимается мною как "HTTP -Аутентификация доступна только при работе как модуль PHP потому что в CGI не работает функция Header

Идем в мануал по функции header
http://www.php.net/manual/en/function.header.php
Там ничего не сказано о недоступности этой функции для CGI-версии, кроме как оговорки к примеру каксательно статуса HTTP 404
HTTP Note: In PHP 3, this only works when PHP is compiled as an Apache module. You can achieve the same effect using the Status header.
Получается явное несоответствие между собой этих двух фрагментов документации.
 

anight

Новичок
что понимается мною как "HTTP -Аутентификация доступна только при работе как модуль PHP потому что в CGI не работает функция Header
в cgi замечательно работает функция header.
другое дело что apache не отдаст в cgi введенные пользователем username & password ;-)
 

cmapuk

Guest
В вариаете CGI доступ есть только к переменной окружения HTTP_USER. Авторизацией и т.п. занимается сам апач. В этом случае можно только идентифицировать пользователя. Если не вести собственную базу пользователей с паролями, то это даже удобнее
 

young

Новичок
в cgi замечательно работает функция header.
да, проверено тестами :)


другое дело что apache не отдаст в cgi введенные пользователем username & password
Вот это да, дело в этом
А из под CGI есть доступ к переданным заголовкам?

Т.е. это получается неточность документации?
 

Nime

Guest
Где неточность-то?

В [m]header[/m] нигде не сказано, что так можно делать http-авторизацию :)
 

young

Новичок
Где неточность-то?
неточность в том, что в документации по " HTTP authentication" сказанно что Basic-авторизация не работает в CGI ибо там не работает функция Header а на самом деле не работает ибо там не устанавливаются переменные

Т.е. неверно указана причина, по которой не работает авториазция в GI
 

nagash

Guest
там не функция хеадер не работает
а пхп не видет хидеров, посланных пользователем...
 

Nime

Guest
The HTTP Authentication hooks in PHP are only available when it is running as an Apache module and is hence not available in the CGI version.
Заметь, тут про header ничего не сказано. Ограничение на работу только при наличии PHP как модуля определено именно этой строкой.
 

young

Новичок
там не функция хеадер не работает
Эта функция хорошо и в CGI работает.

Заметь, тут про header ничего не сказано. Ограничение на работу только при наличии PHP как модуля определено именно этой строкой.
Хм, таки да. Меня контекст второго предложения смутил.

-~{}~ 22.04.04 09:32:

In an Apache module PHP script, it is possible to use the header() function to send an "Authentication Required" message to the client browser causing it to pop up a Username/Password input window.
Вот это меня смутило. Ведь это можно сделать и для CGI? Почему тут явно указано что это для Apache module?
 

Nime

Guest
Потому как вне модуля от вызова этой функции, с точки зрения реализации http авторизации, толку не будет. Именно это и было написано в предыдущем предложении :)
 
Сверху