|
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) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/12168e567b1b6.html, оценка из 5, голосов 10
|