ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] Basic_WWW_Authentification



On Thu, 28 Feb 2002, Valeriy Onuchin wrote:

> Igor Sysoev wrote:
> 
> > On Thu, 28 Feb 2002, Valeriy Onuchin wrote:
> >
> > > > > Скажите, может кто знает:
> > > > > можно    ли    выполнить    Basic_WWW_Authentification
> > > > > непосредственно  между  CGI-скриптом  и  пользователем,  без
> > > > > участия Apache?
> > > > >
> > > > > Что есть: если скрипт пишет
> > > > > > Cache-Control: no-store, no-cache, must-revalidate, post-check=0, 
>pre-check=0
> > > > > > WWW-authenticate: basic realm="REALM"
> > > > > > Status: 401 Authorization Required
> > > > > ,  то  браузер  выводит  пользователю рамочку с предложением
> > > > > ввести имя/пароль для указанного реалма.
> > > > >
> > > > > Но, вот, не вижу, чтобы они доходили до скрипта.
> > > > > Описание "HTTP Authentication" (http://www.rfc.net/rfc2617.html)
> > > > > говорит, что
> > > > >
> > > > > > If the user agent wishes to send the userid "Aladdin" and password
> > > > > >    "open sesame", it would use the following header field:
> > > > > >
> > > > > >       Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
> > > > >
> > > > > После ввода имени/пароля нет в параметрах окружения подобных
> > > > > переменных. Можно сделать, чтобы Apache передавал их CGI?
> > > >
> > > >   из-за ограничений в секретности Authorization не передается скрипту.
> > > >   используйте либо mod_perl, либо поднимайте через mod_rewrite.
> > > >
> > > >                                                 wbw,artur
> > > >
> > >
> > > Ya ne sovsem ponimayu, chem mozhet pomoch mod_perl ili mod_rewrite?
> >
> > С помощью mod_perl можно написать модуль, который будет обрабатывать
> > любую фазу запроса. В том числе и аутентификацию.
> > С помощью mod_rewrite можно записать заголовок Authorization в обычную
> > переменную типа 'HTTP_X_AUTH' и Apache передаст её cgi.
> >
> 
> Ya ne ponimayu, sleduyushego:
> 
>  - odnazhdi sdelav аутентификацию v  
>http://www.somewhere.there/supersecret/important.cgi
>    s etogo momenta client nachinaet posilat
> 
>     Authorization: Basic Z3Vlc3Q6Z3Vlc3Q=
> 
>   pri obrashenii k lyubomu URL na servere 
>http://www.somewhere.there/~someuser/spy.cgi
>   (btw, eto dazhe huzhe chem cookies)
> 
> - kak mozhno s pomosh'yu mod_perl ili mod_rewrite predotvratit vozmozhnost
>    perehvativat eti
> 
> GET /~someuser/spy.cgi HTTP/1.0
> Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
> Accept-Charset: iso-8859-1,*,utf-8
> Accept-Encoding: gzip
> Accept-Language: fr-FR, en
> Authorization: Basic Z3Vlc3Q6Z3Vlc3Q=
> Connection: Keep-Alive
> Host: localhost
> If-Modified-Since: Thu, 28 Feb 2002 15:23:17 GMT; length=632
> User-Agent: Mozilla/4.75C-CERN UNIX www.somewhere.there 45 [en] (X11; U; 
>Linux 2.2.19-6.2.1.1 i686)

Это вопрос с другим контекстом. В первом письме /~someuser/spy.cgi нигде нет.
Что касается /~someuser/spy.cgi, то, насколько я помню, mod_perl'овый хандлер
можно ограничить Location'ом. Во всяком разе, если не средствами Апачи,
то хотя бы программно. В случае mod_rewrite - тоже самое. То есть,
в CGI не попадёт ни HTTP_AUTHORIZATION, ни наша HTTP_X_AUTH.

Игорь Сысоев

=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.