Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] Re: [apache-talk] Re: [apache-talk] Ограничения к оличества логинов



On Wed, 15 Aug 2001, Andrew Stroganow wrote:

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

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

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

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


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

Период устаревания/регенерации кук нужно установить достаточно маленький.
Минут 5-10 к примеру.
-- 
Victor Wagner			vitus@xxxxxx
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@xxxxxxxxxxxxx mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.