Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/371.32  27 Oct 2000  14:14:33
 To : Pavel Kurnosoff
 Subject : Re: Архитектура приложения ?
 -------------------------------------------------------------------------------- 
 
 <Pavel_Kurnosoff@p25.f736.n5030.z2.fidonet.org> wrote:
 
 PK> 1. при использовании апачевской аутентификации можно сделать так, чтобы в
 PK>    качестве SID выступал UID, который можно получить из переменной
 PK>    $ENV{REMOTE_USER}. 
 PK>     - если у нас не https, то мы гоняем логин/пароль по сети слишком часто и
 PK>       много.
 PK>     - при одновременном подключении нескольких юзеров с одним UID возможна
 PK>       фигня, т.к. они все будут работать с одной сессией и различить их
 PK>       _надежно_ никак нельзя.
 PK>     + легко реализуется
 PK> 2. самый популярный метод - cookies. SID просто отдается/принимается в
 PK>    куке.
 PK>     - нет куков - нет и шоколадки :)
 PK>     + нет недостатков метода 1
 PK> 3. второй по популярности метод - PATH_INFO. фишка в том, что если у нас в
 PK>    корне сервера лежит скрипт, скажем, session, то при всех запросах типа
 PK>    http://my.site.ru/session/some/fignya/34535.html мы получим запуск
 PK>    этого скрипта, причем в $ENV{PATH_INFO} будет лежать этот самый хвост
 PK>    /some/fignya/34525.html. как это использовать? а очень просто: после
 PK>    логина все наши url приобретают вид
 PK>    http://my.site.ru/session/<HАШ_SID>/some/where.html и все ссылки -
 PK>    только относительные. броузер-то думает, что у нас тут файлы-каталоги.
 PK>    соответсвенно для отдачи SID надо сделать _один_ _раз_ редирект на url
 PK>    с вставленным SID, а для чтения - просто брать его из PATH_INFO. 
 PK>     - получаем жуткие url вида /session/23476547632547/some/where.html
 PK>     - возможены проблемы с тем, что до обычных файлов-то теперь не
 PK>       достучаться так, чтобы не потерять SID. т.е. все страницы, связанные
 PK>       с сессией должны отдаваться скриптом. как правило, они и так
 PK>       динамические, так что не страшно.
 
         - SID светится в URL, т.е. подглядываем через плечо и оседаем в кешах,
     логах, истории и т.п. Security.
 
 PK>     + может работать без куков, остальные плюсы наследуются ;)
 PK> 4. вариация на тему 3. в dns прописываем маску так, что все запросы на
 PK>    *.my.site.ru отдаются вашему серверу. далее все то же самое, только
 PK>    редирект делаем на <HАШ_SID>.my.site.ru/some/where.html. достаем из
 PK>    HTTP_HOST. 
 PK>     - url все-равно жуткие
 PK>     - надо лезть в настройки dns, а это не всегда можно
 PK>     + проблемы с файлами уже нет
 
 Аналогично 3, SID светится.
 
 PK> итак, imho ни один из методов имхо нельзя признать лучшим. так что всегда
 PK> надо смотреть на задачу. в некоторых случаях можно/нужно дублировать
 PK> методы - проверять, включены ли у юзера куки, и если да - использовать
 PK> них. если нет - откатываться на метод 3 или 4. насколько я помню, так
 PK> сделано на mail.ru.
 
 Я пошел по другому пути - если есть куки, хорошо, если нет - вместо них
 устроит Basic Authorization. Меня, правда, интересует идентификация юзера, а
 не сессии, по крайней мере в том смысле, что двух одновременных сессий не
 бывает (считаем одной сессией). Вообще же метод с куками, если их грамотно
 генерировать (Wrapmod, глава 6) наиболее секьюрен в отсутствие SSL.
 
 -- 
 Счастливо!
   Ран.
 --- ifmail v.2.14.os-p7-tma3
  * Origin: MemoNet (2:5020/371.32@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Архитектура приложения ?   Artem Chuprina   27 Oct 2000 14:14:33 
 Re: Архитектура приложения ?   Pavel Kurnosoff   27 Oct 2000 22:51:56 
 Архитектура приложения ?   Konstantin Osipov   28 Oct 2000 18:44:15 
 Re: Архитектура приложения ?   Artem Chuprina   13 Nov 2000 12:01:55 
 Re: Архитектура приложения ?   Pavel Kurnosoff   14 Nov 2000 23:08:51 
Архивное /ru.cgi.perl/1712180333585.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional