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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Ilia Vinokurov                       2:5020/400     16 Jan 2006  16:04:08
 To : Victor Wagner
 Subject : Re: Logout
 -------------------------------------------------------------------------------- 
 
 Hello, Victor!
 You wrote to "Alexander V. Gaiduk" <gav@arhcity.ru> on Thu, 12 Jan 2006 
 08:31:02 +0000 (UTC):
 
  VW> Alexander V. Gaiduk <gav@arhcity.ru> wrote:
  AVG>> доброго времени суток.
  AVG>> есть средствами Apache авторизованный доступ к каталогу
  AVG>> посредством "AuthType Basic"
  AVG>> как с помощью эхотага сделать Logout ? т.е. кликнув на
  AVG>> ссылку нужно чтоб бровзер забыл имя и пароль, и при
  AVG>> попытке повторного запроса к закрытому каталогу опять
  AVG>> выкинул окошко с логином.
  AVG>> если, конечно, это возможно.
 
  VW> Сделать это надежно - крайне нетривиально. В rfc 2617, в котором
  VW> описана Basic authentication такого не предусмотрено, поэтому
  VW> приходится извращаться.
 
  VW> В принципе можно сделать следующее - когда клиент приходит на скрипт,
  VW> на которой указывает ссылка "logout", ему выдают HTTP-код 401
  VW> (Authorization required) c тем же realm. Т.е. говорят "мужик, твой
  VW> пароль больше не годится". Тогда браузер пароль забудет.
 
  VW> Hо... Получив 401 браузер ТУТ ЖЕ выкинет окошко для ввода
  VW> логина/пароля, и предложит ввести другой пароль. А после того как юзер
  VW> его введет, отправит его по ТОЙ ЖЕ URL.
 
  VW> Соответственно, скрипт должен как-то отличить первый раз зашел к нему
  VW> этот пользователь (и тогда выдавать 401 на валидный пароль) или не
  VW> первый (и тогда честно проверять пароль и редиректить в более другое
  VW> место в случае правильного пароля).
 
  VW> Единственный плюс-минус надежный (с точностью до юзеров с
  VW> нетривиальными настройками браузера) способ сделать это, известный мне
  VW> - это выставлять куку в HTTP response с кодом 401.
 
  VW> И если пользователь пришел уже с этой кукой, считать что он ввел новый
  VW> пароль, проверять его, а куку сносить.
 
  VW> Интерфейс при этом получается неидеальный - при нажатии кнопки logout у
  VW> пользователя вылетает окошко "а залогинься ты под другим именем". И
  VW> реальный логаут получается, только если юзер там cancel нажмет.
 
  VW> В общем, красиво можно сделать, только если не использовать Basic
  VW> Authentication, а городить свою систему авторизации, например на тех же
  VW> куках.
 
 Hа Рамблере топ 100 сделано вообще интересно:
 http://top100.rambler.ru/top100/
 Просят ввести логин и пароль, чтобы разлогиниться...
 
 Войти под другим именем
 (используйте username: top100, password: top100)
 With best regards, Ilia Vinokurov.  E-mail: ilvin@ilvin.msk.ru 
 --- ifmail v.2.15dev5.3
  * Origin: COMSTAR Telecommunications (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Logout   Alexander V. Gaiduk   12 Jan 2006 10:10:52 
 Re: Logout   Victor Wagner   12 Jan 2006 12:31:02 
 Re: Logout   Ilia Vinokurov   16 Jan 2006 16:04:08 
 Hа: Logout   Alexander V. Gaiduk   18 Jan 2006 18:34:37 
 Re: Logout   Ilia Vinokurov   18 Jan 2006 19:14:49 
 Re: Logout   Victor Wagner   18 Jan 2006 20:13:50 
 Re: Hа: Logout   Artem Chuprina   18 Jan 2006 20:49:34 
 Hа: Hа: Logout   Alexander V. Gaiduk   19 Jan 2006 13:29:21 
 Re: Hа: Hа: Logout   Artem Chuprina   19 Jan 2006 16:27:53 
Архивное /ru.cgi.perl/12168e567b1b6.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional