|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
привет! на свое клиент-серверное приложение собираюсь продавать ограниченное кол-во лицензий (рабочих мест). Задумал при подключении к БД проверять кол-во открытых соединений, и если оно более установленного лимита, то в БД не пускать. Но коллеги говорят, что это не совсем правильный способ. Вот, собственно, и хочу спросить - как это делать правильно? Может есть рекомендации от MS? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2005, 14:58 |
|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
Я думаю, что тут без сервера приложений не обойтись... Как альтернатива - можно сканировать сеть, и сделать так чтобы при работе программа имела свой порт, через который реагировала на "перекличку"... При этом сисадмин может локальным брандмауэром прикрыть такую малину - но можно ведь и запретить запускать прогармму если порт закрыт :))... На производительность это не должно как то сильно влиять... P.S. Можно просто Бизик admin@busyman.ru ICQ# 131833549 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2005, 15:31 |
|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
Креативно, но все же давайте будем исходить из того, что приложение двухуровневое, и временные затраты на разработку системы защиты должны быть меньше времени, затраченного на разработку приложения :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2005, 15:34 |
|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
JuniorКреативно, но все же давайте будем исходить из того, что приложение двухуровневое, и временные затраты на разработку системы защиты должны быть меньше времени, затраченного на разработку приложения :)) про терминологию - промолчу... по поводу защиты... постарайтесь направить свои силы не на физическую защиту, а на логическую. В сетевых технологиях это сделать легче... Например если у Вас простая прога которая общаеться с БД - то попробуйте подумать в таком русле... 1) раз в 100 лет, записываем время начала работы, ай пи адресс, подтверждение превышение лицензий...узнаём ай-пи адресс. записываем в таблицу...если есть включения до этого - пингуем их с рабочей станции...если превышено кол-во пингов над лицензией - ставим флаг... 2) раз в 200 лет, если взведён флаг сработки защиты - в любой строчке дебета-кредита обнулять счёт номер 80.... 3) локально на станции делаем тупую привязку к лицензиям. с предупреждением - что дескать обходить не рекомендуеться.... программа запускаеться...проверяеться локально - всё пучком...окейно... нет - извиняемся и выгружаемси... с уважением (круглый) ЗЫ слово "лет" - мона трактовать как "минут". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2005, 15:48 |
|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
JuniorКреативно, но все же давайте будем исходить из того, что приложение двухуровневое... А смысл тогда??? Если доступ к БД имеет администратор - то у него есть возможность достаточно легко все ваши уловки отрубить/обойти и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 16:24 |
|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
ну почему же? если блокировки зашить в клиентское приложение, пусть администратор и имеет доступ к БД, что ему это даст? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 16:27 |
|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
Ну или просто... Записывайте в таблицу входы/выходы пользователей... и при попытке входа - проверяйте превышение лимита. А чтобы не было подлога - раз в полчаса проверяйте эту таблицу - не было ли в ней изменений (а то залезет кто-нибудь и ручками поправит). А вот последнее - самое интересное. Если у вас MS SQL Server - там есть достаточно простая функция для вычисления КОНТРОЛЬНОЙ СУММЫ таблицы, строки или набора данных... Для ваших целей этого зватит. P.S. Можно просто Бизик admin@busyman.ru ICQ# 131833549 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 16:28 |
|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
Juniorну почему же? если блокировки зашить в клиентское приложение, пусть администратор и имеет доступ к БД, что ему это даст? :) что означает фраза "блокировки зашить в клиентское приложение"??? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 16:29 |
|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
авторчто означает фраза "блокировки зашить в клиентское приложение"??? Это означает, например, что при логине клиентское приложение идет и проверяет кол-во открытых коннектов с разных хостов. И если это кол-во больше лимита, не дает юзеру залогиниться. А администратор пусть по базе шарится сколько угодно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 16:32 |
|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
Juniorпривет! на свое клиент-серверное приложение собираюсь продавать ограниченное кол-во лицензий (рабочих мест). Задумал при подключении к БД проверять кол-во открытых соединений, и если оно более установленного лимита, то в БД не пускать. Но коллеги говорят, что это не совсем правильный способ. Вот, собственно, и хочу спросить - как это делать правильно? Может есть рекомендации от MS? 1. А что Вам, собственно, говорят коллеги в обоснование своего "неправильно"? 2. Рекомендации от MS посмотрите в MSDN. 3. Если речь идет о MS SQL, то перечень соединений, хостов и IP вытянуть из сервака сравнительно просто (см. форум по SQL - обсуждалось неоднократно в разных вариациях). В приложение-клиент "зашивается" значение макс.количества коннектов (или вставляется в какую-нить дремучую таблицу/ХП/вьюшку, до которой добраться НЕразработчику крайне трудно), при превышении лимита - рапортует с разной степенью вежливости и выгружается. А продаете программулину, которое это значение поднимает до нужного уровня. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 16:41 |
|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
автор1. А что Вам, собственно, говорят коллеги в обоснование своего "неправильно"? Они говорят, что хотят использовать более одного коннекта на приложение. А также, что пользователи могут ходить толпами через терминал-сервер (и в этом случае ограничение по хосту не сработает) автор3. Если речь идет о MS SQL, то перечень соединений, хостов и IP вытянуть из сервака сравнительно просто (см. форум по SQL - обсуждалось неоднократно в разных вариациях). Спасибо, КАК это сделать - я знаю авторВ приложение-клиент "зашивается" значение макс.количества коннектов (или вставляется в какую-нить дремучую таблицу/ХП/вьюшку, до которой добраться НЕразработчику крайне трудно), при превышении лимита - рапортует с разной степенью вежливости и выгружается. А продаете программулину, которое это значение поднимает до нужного уровня. Идея неплоха, спасибо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 16:46 |
|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
Junior автор1. А что Вам, собственно, говорят коллеги в обоснование своего "неправильно"? Коллеги еще говорят, что при использовании пула соединений, который наверняка и используется... При запуске подключения будет сгенерировано гораздо больше connections!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 16:50 |
|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
Junior авторВ приложение-клиент "зашивается" значение макс.количества коннектов (или вставляется в какую-нить дремучую таблицу/ХП/вьюшку, до которой добраться НЕразработчику крайне трудно ), при превышении лимита - рапортует с разной степенью вежливости и выгружается. А продаете программулину, которое это значение поднимает до нужного уровня. Идея неплоха, спасибо :) Не бывает такого "трудно добраться" !!! Либо можно либо нельзя!!! Но, лучше тогда так: 1) При запуске программы, она сама вообщем-то может создать эту ХП, если ее удалили. Или выйти если на это ее лишили прав. 2) Также имеется возможность проконтролировать ТЕКСТ самого кода ХП, - а то малоли кто его менял.... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 16:52 |
|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
BusyMan Junior авторВ приложение-клиент "зашивается" значение макс.количества коннектов (или вставляется в какую-нить дремучую таблицу/ХП/вьюшку, до которой добраться НЕразработчику крайне трудно ), при превышении лимита - рапортует с разной степенью вежливости и выгружается. А продаете программулину, которое это значение поднимает до нужного уровня. Идея неплоха, спасибо :) Не бывает такого "трудно добраться" !!! Либо можно либо нельзя!!! Но, лучше тогда так: 1) При запуске программы, она сама вообщем-то может создать эту ХП, если ее удалили. Или выйти если на это ее лишили прав. 2) Также имеется возможность проконтролировать ТЕКСТ самого кода ХП, - а то малоли кто его менял.... В первом случае тогда получается вариация на тему "Макс. количество подключений зашито в приложение". А зачем в таком случае, создавать эту ХП на серваке? Кроме того, после того, как заказчик все-таки купил приложение-"ключ" на 10 РМ, получается, что "старые" приложения-клиенты заново вернут систему до начального лицензионного уровня, например, в 3 РМ. Обновить БД в этом случае, на мой взгляд, гораздо легче, чем несколько РМ. Нет, мой вариант довольно сносный... Хотя, ИМХО, в случае с ИС лучше торговать не количеством РМ, а поддержкой, модернизацией... Реальную И-систему, которая всегда сложная и запутанная, никакой взломщик ни настроить, ни внедрить, ни поддерживать не сможет... в любом случае это обойдется гораздо дороже, чем "родной" разработчик :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2005, 17:15 |
|
Алгоритм ограничения использования рабочих мест сверх лимита
|
|||
---|---|---|---|
#18+
Я тоже для MSSQL вшивал проверку кол-ва подключений в клиента - других легко реализуемых решений не было обнаружено. P.S. Проблему то полностью потом решили, но только когда поменяли латформу MSSQL на ASA - появилась возможность автоматически контролировать подключение сессий через свою ХП и там спокойно контролировать такие вещи - даже баны сделали на пользователей по времени. Событийная модель на языке ХП конечно штука неплохая и удобная. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2005, 15:18 |
|
|
start [/forum/topic.php?fid=33&msg=33328603&tid=1549543]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 288ms |
0 / 0 |