ПРОЕКТЫ 


  АРХИВ 


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] Re: =?KOI8-r?B?W2FwYWNoZS10YWxrXSBSZTogW2FwYWNoZS10YWxrXSDvx9LBzsnexc7J0SDL?==?KOI8-r?B?z8zJ3sXT1NfBIMzPx8nOz9c=?=



On Wed, 15 Aug 2001, Andrew Stroganow wrote:

> > :))) и самое негумманое - выдать на логин фиксированное кол-во "заходов",
> > вести учет "заходов", и уменьшать их
>
> да-да-да-да! я во всем с тобой согласен, но тут есть одно "НО". Авторизация
> то "Basic", а чтоб написать свой авторизатор и т.д. необходимо приложить
> немалые усилия.... а я хочу с небольшим телодвижением решить эту
> нетривиальную задачу стандартными средствами.

Хорошие результаты дает СОЧЕТАНИЕ авторизации типа Basic с куками.
Я таким образом, например реализовал честный Logout.
Хитрость заключается в выдаче куки одновременно с кодом ответа 401.

Аналогичным способом можно поступить и здесь.
= имеем базку данных имя-кука (dbm-ку)
если приходит юзер, и для него куки в базе нет, или кука заэкспайрилась,
генерим случайную новую, выдаем юзеру, и пишем в базу.

Если в базе кука есть, и у юзера есть, юзера пускаем.
Если в базе кука есть, а у юзера - нет, юзера посылаем. С 403 кодом.
А лучше - с 402. И большим красивым сообщением "Мужик, не работай под
чужим логином"


В результате, юзер может открыть хоть 200 окон браузера, и всеми работать.
Но зайти одновременно с тем же логином/паролем с другой машины - нельзя.

Период устаревания/регенерации кук нужно установить достаточно маленький.
Минут 5-10 к примеру.
-- 
Victor Wagner                   vitus@ice.ru
Chief Technical Officer         Office:7-(095)-748-53-88
Communiware.Net                 Home: 7-(095)-135-46-61
http://www.communiware.net      http://www.ice.ru/~vitus

=============================================================================
=               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.