Re: Re: cgp cgi & sessions

От: Dmitry Akindinov <CGatePro_at_mx_ru>
Дата: Thu 15 Jan 2004 - 20:27:34 MSK


Hello, on 15.01.2004 20:11, (Ares) at CGatePro@mx.ru wrote:

> In original message CGatePro@mx.ru writes:
>> Hello, on 15.01.2004 16:49, (Ares) at CGatePro@mx.ru wrote:
>> 

>>> In original message CGatePro@mx.ru writes:
>>>> Hello, on 15.01.2004 15:22, (Ares) at CGatePro@mx.ru wrote:
>>>> 
>>>>> Hi,
>>>>> 
>>>>> Поскажите - можно ли вызвать CGI скрипт внутри сессии?
>>>>> т.е. не с url вида http://host/cgi-bin/
>>>> 
>>>> А зачем? Если нужен Session ID, то его можно либо просто передать в CGI как
>>>> параметр, либо вытащить из HTTP referer.

>>>
>>> referer это хорошо..
>>>
>>> была мысль что если можно cgi вызвать внутри
>>> сессии, то в переменных окружения будет
>>> что-то типа содержимого %%SESSION%%
>>>
>>> что-б не использовать webauth для получения этой информации.
>>> зачем лишний раз дергать CLI.
>> 
>> Какие проблемы сделать это так:
>> 
>> <form action=/cgi-bin/envtest.pl method="post">
>> <input type=text name=password>
>> <input type=hidden name=session value="%%SESSION(ID)%%">
> 
> ...
> 
> так конечно можно сделать.. но всегда хочется лучшего ;)
> 
> в моем случае идеальный вариант - когда скрипт
> вызывается внутри сессии (что-б работали ссылки относительно
> текущей сессии) и он из переменных окружения мог получить
> достоверную информацию о пользователе.

Переменные среды могут показать среднюю температуру по больнице - CGI запускается сервером без setuid.

> а информацию полученную через post - придется проверять в скрипте
> на достоверность, поскольку он вызывается от / - и login/pass
> самим cgp там не проверяется..

'password' зжесь приведен только для примера.

Зато сам Session ID можно использовать для аутентикации <http://www.stalker.com/CommuniGatePro/Security.html#WebUserSASL>. Имея его, можно и через CLI вытащить всю информацию об аккаунте <http://www.stalker.com/CommuniGatePro/CLI.html#WebSession>, если не хочется передавать эти детали в скрипт в виде параметров формы.

Если не хочется возиться с параметрами POST, можно, наконец, попытаться разобрать HTTP_Referer (который таки проставляется в переменных среды сервером) - там в URL Session ID присутствует (если, конечно, CGI был вызван с сессионной страницы.)

-- 
Best regards,
Dmitry Akindinov -- Stalker Labs
Получено Thu Jan 15 17:27:37 2004

Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:12:54 MSK