Автор | Сообщение |
|
| постоянный участник
|
Пост N: 1506
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.08.10 12:20. Заголовок: Как запретить работу с чужими базами ?
Всем привет ! Кто может подсказать по следующему вопросу: Имеется своя программа, базы данных: dbf-файлы, индексы: cdx. Этой программой пользуются определенное кол-во фирм. Программа привязана на ключ (HASP HL). Как можно запретить "открывать" чужие базы (моя программа) из других фирм ? Т.е. допустим на одной фирме кто-то забрал базы (моя программа), передал другой фирме, а там можно открыть эти базы в моей программе и спокойно работать с ними.
|
|
|
Новых ответов нет
, стр:
1
2
3
All
[см. все]
|
|
|
| |
Пост N: 18
Зарегистрирован: 17.06.10
|
|
Отправлено: 17.08.10 12:52. Заголовок: Чего, не прокатит ? ..
Чего, не прокатит ? Задача была - осложнить жизнь челу сперевшему базу. В DBF все/некоторые поля криптированы. В 2 байтах держим уникальное имя запихиваемое туда при инсталяции проги. Есть ключевой файл/ветка реестра с эти именем в коем прописаны всякие атрибуты пользователя и число строк DBF и т.п.
|
|
|
|
| постоянный участник
|
Пост N: 53
Зарегистрирован: 29.05.06
|
|
Отправлено: 17.08.10 12:54. Заголовок: Andrey пишет: fil п..
Andrey пишет: цитата: | fil пишет: цитата: А может эту инфу в заголовок DBF класть. Там, помнится, 31/32 байты резервированы Не прокатит ! А если придет кому нибудь в голову, добавить в рабочую базу через утилиты (DBU или другие) записи другой "стыренной" базы ? Слишком легкая защита ! |
| Можно сделать инфу в заголовке DBF зависимой не только от значения ключа, но и от числа записей в базе данных. Хотя маловато будет 2 байта, думаю. А вообще, неплохой подход. Я так думаю, про ключ в заголовке файла "взломщики" очень не скоро додумаются... Особенно если в порядке дымовой завесы сделать в рабочем каталоге парочку-троечку файлов с названием ( или полями ) типа SECRET_KEY , HASP_KEY и тд :) Нехай экспериментируют... :)
|
|
|
|
| |
Пост N: 19
Зарегистрирован: 17.06.10
|
|
Отправлено: 17.08.10 13:04. Заголовок: В общем, совершенно ..
В общем, совершенно неважно чего пихать в заголовок. По сути это флаг инсталяции. Хотя, конечно, можно затолкать в эти 2 байта число до 65 тыс.
|
|
|
|
| постоянный участник
|
Пост N: 54
Зарегистрирован: 29.05.06
|
|
Отправлено: 17.08.10 13:18. Заголовок: fil пишет: В общем,..
fil пишет: цитата: | В общем, совершенно неважно чего пихать в заголовок. По сути это флаг инсталяции. Хотя, конечно, можно затолкать в эти 2 байта число до 65 тыс. |
| В принципе, да. Из всех имеющихся для проверки соответствия параметров ( код ключа, количество записей в базе и тд ) можно сгенерить достаточно уникальное ( с вероятностью повтора 1/65000 ) число.
|
|
|
|
| постоянный участник
|
Пост N: 1531
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.08.10 08:27. Заголовок: А как интересно это ..
А как интересно это решается в других системах, типа 1С или других ?
|
|
|
|
| |
Пост N: 1
Зарегистрирован: 19.08.10
|
|
Отправлено: 19.08.10 09:10. Заголовок: в других системах, т..
в других системах, типа 1С - никак. Когда-то применял следующее: на числовые значения - NtoC() в 36-ричную систему, а на важные текстовые - XOR() с введенным паролем (или считанным ключом) при шифровании (и с ним же при дешифровании). Данные вроде есть, но воспользоваться без верного ключа затруднительно. Еще вариант: таблицы и индексы _хранить_ в зашифрованных архивных файлах, а при старте задачи распаковывать. Соответственно, при закрытии - запаковывать заново. И не забыть под конец удалить распакованные :-)
|
|
|
|
| постоянный участник
|
Пост N: 1546
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.09.10 14:34. Заголовок: Chikanuk пишет: таб..
Chikanuk пишет: цитата: | таблицы и индексы _хранить_ в зашифрованных архивных файлах, а при старте задачи распаковывать. Соответственно, при закрытии - запаковывать заново. И не забыть под конец удалить распакованные |
| Слишком медленно все будет ! Базы за 1 Gb у некоторых переваливает ....
|
|
|
|
| постоянный участник
|
Пост N: 1547
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.09.10 14:40. Заголовок: КСС А с какими ключ..
КСС А с какими ключами HASP работаешь ?
|
|
|
|
| постоянный участник
|
Пост N: 1549
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.09.10 20:34. Заголовок: Вопрос такой: можно ..
Вопрос такой: можно ли зашифровать текстовые данные в DBF файле и перед показом в Tbrowse расшифровывать ? Тогда если база случайно грохнется, то можно будет восстановить данные, с потерей некоторого количества записей.... Это терпимо. Процесс шифрования и расшифрования понятен. В ключе HASP HL есть криптопроцессор. В крайнем случае можно воспользоваться и Харборовскими функциями шифрации. А как показывать записи в стандартном Tbrowse ? Тогда вопрос об "обмене" баз между фирмами пропадет вообще. Да и приглашенные со стороны спецы "пролетают" ...
|
|
|
|
| постоянный участник
|
Пост N: 455
Зарегистрирован: 27.01.07
|
|
Отправлено: 11.09.10 11:43. Заголовок: Andrey пишет: А как..
Andrey пишет: цитата: | А как показывать записи в стандартном Tbrowse ? |
| Создать свой блок кода для шифрованного поля. Или я не понял вопрос?
|
|
|
|
| постоянный участник
|
Пост N: 1552
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.09.10 15:08. Заголовок: PSP пишет: Создать ..
PSP пишет: цитата: | Создать свой блок кода для шифрованного поля. |
| Т.е. для всех текстовых полей создать свой блок кода ? А как он будет примерно выглядеть ?
|
|
|
|
|
| постоянный участник
|
Пост N: 457
Зарегистрирован: 27.01.07
|
|
Отправлено: 11.09.10 19:04. Заголовок: Покажи свой код TBro..
Покажи свой код с TBrowse.
|
|
|
|
| |
Пост N: 321
Зарегистрирован: 03.12.08
|
|
Отправлено: 23.08.16 15:42. Заголовок: Оживляю тему . Есть..
Оживляю тему . Есть-ли способ работы с шифрованной DBF ? Вроде как-то видел даже примеры где "на лету" осуществляется кодирование/декодирование и запись/чтение . Не могу вспомнить как это работает .....
|
|
|
|
| |
Пост N: 5982
Зарегистрирован: 17.05.05
|
|
Отправлено: 23.08.16 16:03. Заголовок: Softlog86 Можно поп..
Softlog86 Можно попробовать SX_* функции или почитать это Я как то баловался с шифрованием в Clipper+SIX. В случае падения проги , падения компа , в общем не нормальном завершении программы , в базе может быть каша , часть записей зашифрована , часть нет. После пары экспериментов , плюнул на это дело
|
|
|
|
| постоянный участник
|
Пост N: 1164
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.08.16 16:11. Заголовок: Softlog86 Было в SI..
Softlog86 Было в SIXNSX USE: Syntax: USE <(db)> ; [VIA <rdd>] ; [ALIAS <a>] ; [<new: NEW>] ; [<ex: EXCLUSIVE>] ; [<sh: SHARED>] ; [<ro: READONLY>] ; [INDEX <(index1)> [, <(indexn)>]] ; [TRIGGER <trig>] ; [PASSWORD <password>] Generally, this command works the same way as it does in Clipper. The only difference being the TRIGGER and PASSWORD clauses. TRIGGER - Allows you to assign a custom trigger function to this table's workarea. PASSWORD - Set an encryption password to be used in opening this table. смотрим hbsix.ch /* * USE command with support for TRIGGER and PASSWORD clauses */ #command USE <(db)> [VIA <rdd>] [ALIAS <a>] [<nw: NEW>] ; [<ex: EXCLUSIVE>] [<sh: SHARED>] [<ro: READONLY>] ; [CODEPAGE <cp>] [INDEX <(index1)> [, <(indexN)>]] ; [TRIGGER <trig>] [PASSWORD <pass>] => ; [sx_SetTrigger( TRIGGER_PENDING, <trig>, <rdd> );] <-trig-> ; [sx_SetPass( <pass>, 1, <rdd> );] <-pass-> ; dbUseArea( <.nw.>, <rdd>, <(db)>, <(a)>, ; iif( <.sh.> .OR. <.ex.>, ! <.ex.>, NIL ), <.ro.> [, <cp>] ) ; [; dbSetIndex( <(index1)> )] ; [; dbSetIndex( <(indexN)> )] вроде как должно быть шифрование
|
|
|
|
| постоянный участник
|
Пост N: 1165
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.08.16 16:20. Заголовок: Dima пишет После пар..
Dima пишет цитата: | После пары экспериментов , плюнул на это дело |
| У меня работало нормально и не ломалось практически, но тоже ушел с шифрования, т.к. надо иметь сервисныей проги для "навсякий случай" - через время они попадали к др.людям (обслуживающим базу) самому не разорваться во все места и в целом (во времени) потеряло смысл.
|
|
|
|
| |
Пост N: 5983
Зарегистрирован: 17.05.05
|
|
Отправлено: 23.08.16 16:29. Заголовок: SergKis пишет: У ме..
SergKis пишет: цитата: | У меня работало нормально и не ломалось практически |
| Ты наверное жестко не тестил. Я к примеру убивал задачу во время ее работы с базой , тупо нажимал Reset на ящике и после смотрел как поживает база. То что увидел , не понравилось и забил :)
|
|
|
|
| постоянный участник
|
Пост N: 1166
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.08.16 16:38. Заголовок: Dima пишет Ты наверн..
Dima пишет цитата: | Ты наверное жестко не тестил. |
| Молотком точно не бил Работала у клиентов в реальном времени несколько лет, потом убрал шифрование и работает до сих пор
|
|
|
|
| |
Пост N: 5984
Зарегистрирован: 17.05.05
|
|
Отправлено: 23.08.16 16:41. Заголовок: SergKis пишет: Моло..
SergKis пишет:
|
|
|
|
| постоянный участник
|
Пост N: 5057
Зарегистрирован: 12.09.06
|
|
Отправлено: 23.08.16 18:05. Заголовок: Dima пишет: Ты наве..
Dima пишет: цитата: | Ты наверное жестко не тестил. Я к примеру убивал задачу во время ее работы с базой , тупо нажимал Reset на ящике и после смотрел как поживает база. То что увидел , не понравилось и забил :) |
| Интересно, а как будет поживать после этого MySql или PostgeSql ?
|
|
|
Новых ответов нет
, стр:
1
2
3
All
[см. все]
|
|