Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

защта базы. [D7, IB6.x]


Страницы:   1 2

olevacho_ ©   (2007-07-18 19:29:00) 

Нужно создать прогу с базой данных. Не очень то хочется чтобы юзера ковырялись в структуре. Поэтому из таблиц типа  clients:nameofclient,address,phone; tovary:nameoftovar,count; нужно сделать так чтоб у клиента база данных представлялась в виде table1:field1_1,filed1_2,field1_3...,table2:field2_1,filed2_2... Я понимаю что все-равно если есть желание и средства то разобраться не так сложно и в масках. Но я думаю на наше "село" пойдет и так. Может кто посоветовать какие способы решения этой задачи существуют, кроме создания дополнительной проги преобразования структуры данных? И вообще какие имеются способы защиты баз данных на стороне клиента? Базу планируется создать на FB, возможен и другой сервер.


Виталий Панасенко   (2007-07-19 17:25:00) [1]


> DrPass ©   (19.07.07 17:20) [20]
>
> > FIBPLus можно указать имя библиотеки для подключения клиента(только
>
> > в лицензионной версии)..
>
> В пиратской тоже можно, чесслово :)

Я имел ввиду не в триальной, с сайта Devrace...:-))
Да и зажимать 140-150 грн как-то...Это я о продлении


DrPass   (2007-07-19 17:20:00) [2]


> FIBPLus можно указать имя библиотеки для подключения клиента(только
> в лицензионной версии)..

В пиратской тоже можно, чесслово :)


Виталий Панасенко   (2007-07-19 17:09:00) [3]


> olevacho_ ©   (19.07.07 15:22) [13]


> Это интересно. Изменить fbclient.dll на libMySQL.dll можно.
>  Но как в приложении указать что надо пользоваться именно
> libMySQL.dll для работы с базой?

Смотря, какие компоненты. У FIBPLus можно указать имя библиотеки для подключения клиента(только в лицензионной версии)..


Anatoly Podgoretsky   (2007-07-19 16:43:00) [4]

> olevacho_  (19.07.2007 16:35:16)  [16]

Просто у вас негры белые.
Пашут как негры, вот и путаешь.


Anatoly Podgoretsky   (2007-07-19 16:38:00) [5]

> olevacho_  (19.07.2007 16:34:15)  [15]

Да не идут они по твоим стопам, там цели никак не связаны с защитой.


olevacho_   (2007-07-19 16:35:00) [6]


> какие ж у вас тогда цыгане(с)?

А цыгане у нас чернее негров


olevacho_   (2007-07-19 16:34:00) [7]


> Этот "крайний случай" как раз и использован разработчиками
> знаменитой беды под названием "1Сы:Предприятие".

Мне очень лестно осознавать что серьезные фирмы идут по нашим стопам. ;)


Сергей М.   (2007-07-19 15:30:00) [8]


> Этот вариант в крайнем случае подойдет


Этот "крайний случай" как раз и использован разработчиками знаменитой беды под названием "1Сы:Предприятие".

Правда, руководствовались  они отнюдь не "защитой базы")


olevacho_   (2007-07-19 15:22:00) [9]


> 1) таблицы все вида TABLE001, TABLE002, .., TABLE00N с доменами
> FLD001, FLD002,...,FLD00N

Этот вариант в крайнем случае подойдет. Но все равно это не избавит от создания дополнительной проги для создания dump с переименованием названий. Если называть в своей копии такими именами метаданные то можно такое понаписывать...

> 2) Триггеры вида TR0001 без всяких намеков на принадлежность
> таблице и Before...(After...), если выполнен пункт 1, то
> понимание "тела триггера" будет трудным.

А как можно не указать Before или After и для какой таблицы? Смысл тогда в таком тригере? Или я что то не понял?

> 5) Используем Embedded-версию, переименовав fbclient.dll
> в скажем libMySQL.dll (пусть потом маются с подсовыванием
> базы данных мусклю:), а также файл базы данных в какой-нибудь
> с "диким" расширением.

Это интересно. Изменить fbclient.dll на libMySQL.dll можно. Но как в приложении указать что надо пользоваться именно libMySQL.dll для работы с базой?


Val   (2007-07-19 12:13:00) [10]

скорее ляпнул, не подумав.


DrPass   (2007-07-18 22:36:00) [11]


> PEAKTOP ©   (18.07.07 22:00) [9]


> Ценят, как-правило, - результат, выраженный в какой либо
> валюте. Везде и всегда

А если без шуток - ты что, берешься не глядя за любую работу, где платят?


turbouser   (2007-07-18 22:12:00) [12]


> PEAKTOP ©   (18.07.07 20:49) [5]
>
> Никак. Этот вариант для параноидальных заказчиков, занимающихся
> директ-маркетингом (по нашему - СПАМом) и продажей баз данных
> рассылки писем.

Офигеть. Я был о вас лучшего мнения :(


PEAKTOP   (2007-07-18 22:00:00) [13]

> Лучше направить свои силы, время и желание на что-нибудь действительно полезное.

Насколько могут быть полезны деньги, которыми, прежде всего, нужно выплатить зарплату ИТ-отделу ?

>ИМХО, бить производителя софта для спамеров так же приятно, как  и собственно спамеров

Правильней было бы написать, ИМ, без ХО.

to-all: Ценят, как-правило, - результат, выраженный в какой либо валюте. Везде и всегда.


Johnmen   (2007-07-18 21:45:00) [14]

Приносить реальное удобство работы с БД в дань эфемерной защите - верх абсурда. Лучше направить свои силы, время и желание на что-нибудь действительно полезное.


DrPass   (2007-07-18 21:32:00) [15]


> Этот вариант для параноидальных заказчиков, занимающихся
> директ-маркетингом (по нашему - СПАМом) и продажей баз данных
> рассылки писем

ИМХО, бить производителя софта для спамеров так же приятно, как и собственно спамеров :)))


PEAKTOP   (2007-07-18 20:50:00) [16]

> можно промонитроить запросы и тело блока будет видно


мда, действительно ...


PEAKTOP   (2007-07-18 20:49:00) [17]


> ээээ, а сами-то как сопровождаете этот ужас?


Никак. Этот вариант для параноидальных заказчиков, занимающихся директ-маркетингом (по нашему - СПАМом) и продажей баз данных рассылки писем. Если нужно что-то доработать - пишется заново, деньги платятся заново в полном объеме. Их все устраивает, нас все устраивает.

"для нормальных заказчиков - нормальные разработки !" :)


DrPass   (2007-07-18 20:21:00) [18]


> конечно, профессионального разработчика это не остановит

ээээ, а сами-то как сопровождаете этот ужас?


turbouser   (2007-07-18 20:12:00) [19]


> PEAKTOP ©   (18.07.07 20:02) [2]
> 3) Хранимых процедур нет. Все через EXECUTE BLOCK. (пардон,
>  кажется у тебя InterBaseExpress, которая это не поддерживает.
>  Придется заюзать FBIPlus)

Вот как раз EXECUTE BLOCK не подойдет. Можно промонитроить запросы и
тело блока будет видно. В таком случае лучше ХП с вырезанным текстом psql из
системных таблиц.
Вообще, если у юзеров нет доступа к серверу, то n-звенка подойдет.

А, собственно, зачем запрещать юзерам доступ к метаданным?
Что они такого хитрого могут оттуда узнать?


PEAKTOP   (2007-07-18 20:02:00) [20]

1) таблицы все вида TABLE001, TABLE002, .., TABLE00N с доменами FLD001, FLD002,...,FLD00N
2) Триггеры вида TR0001 без всяких намеков на принадлежность таблице и Before...(After...), если выполнен пункт 1, то понимание "тела триггера" будет трудным.
3) Хранимых процедур нет. Все через EXECUTE BLOCK. (пардон, кажется у тебя InterBaseExpress, которая это не поддерживает. Придется заюзать FBIPlus)
4) все поля VARCHAR(N) - шифрованные хоть тем же XOR или NewChar := Chr(Ord(OldChar)+2);расшифровываются клиентом в обработчиках событий DataSet.Fields[i].OnGetText и DataSet.Fields[i].OnSetText. И после выполнения вышеперечисленного весело и уверенно забиваем на производительность.
5) Используем Embedded-версию, переименовав fbclient.dll в скажем libMySQL.dll (пусть потом маются с подсовыванием базы данных мусклю:), а также файл базы данных в какой-нибудь с "диким" расширением.

конечно, профессионального разработчика это не остановит. зато желающих поковыряться резко поубавиться.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо