Имя: Пароль:
1C
1С v8
Как узнать GUID текущей базы данных?
0 Dmitry_333
 
11.01.19
14:13
Всем здравствуйте! Подскажите пожалуйста, как узнать, как программно получить guid текущей базы?
1 Мыш
 
11.01.19
14:18
(0) Константы.ИдентификаторИнформационнойБазы
2 Dmitry_333
 
11.01.19
14:21
(1) Огромное спасибо! А то я в метаданных и системной информации обыскался-)
3 Волшебник
 
11.01.19
14:25
Если в конфигурации есть план обмена с флагом "Распределённая база", то GUID узла ЭтотУзел можно считать GUIDом базы.
4 Dmitry_333
 
11.01.19
14:33
(3) Нет, но на будущее буду иметь ввиду. Спасибо.
5 RomanYS
 
11.01.19
14:44
(3) А если таких планов обмена больше одного?

(0) Как я понимаю, на уровне платформы такого понятия нет. Это что-то из БСП или КД3?
6 Eiffil123
 
11.01.19
14:48
Это GUID базы на сервере предприятия 1С?
7 Dmitry_333
 
11.01.19
14:53
(5) Речь про уид конкретной ИБ.

(6) В моём случае речь о файловой базе.
8 RomanYS
 
11.01.19
15:19
(7) Что такое "уид конкретной ИБ"?
9 mikecool
 
11.01.19
15:20
(0) программно - не знаю, пкм на базе в списке и сохранить в файл, в файле гуид присутствует
10 ДенисЧ
 
11.01.19
15:23
(9) Поручик, Вы пошляк.
Из %AppData%\Roaming\1c\1CEstart\ibases.v8i прочитать и не выпендриваться...
11 mikecool
 
11.01.19
15:25
(10) о, спасибо, вечно забываю - где это чудо лежит )))
12 ДенисЧ
 
11.01.19
15:27
(11) А я и не помнил. Открыл фар да поискал...
13 RomanYS
 
11.01.19
15:28
(9) (10) (11) Это гуид в конкретном файле, называть его "уид конкретной ИБ" не очень корректно.

(0) ты про "это" спрашивал?
14 ДенисЧ
 
11.01.19
15:33
(13) Ты не поверишь, но этот гуид совпадает с тем, что на сервере 1с прописан.
Если нужно что-то больше - тут уж извини, моему телепат-боту ещё 2 недели в больнице лежать
15 RomanYS
 
11.01.19
15:39
(14) он меняется при добавлении/удалении базы. Кроме того база может быть прописана в списке несколько раз.

Вот сейчас добавил базу второй раз и получил новый гуид в файле, какой из них на сервере?
16 Dmitry_333
 
11.01.19
15:46
(13) (15) Тогда корректнее назвать текущей базой
17 Serg_1960
 
11.01.19
15:49
(14) "Ты не поверишь" - а я и не верю. Впрочем как и всему остальному, что здесь на ветке успели написать :)
GUIDа текущей базы данных не существует.
"Нет, сынок, это фантастика"(цы)
18 RomanYS
 
11.01.19
15:49
(16) не понял. Откуда вопрос (0) возник?
19 piter3
 
11.01.19
15:50
(0)Ну а теперь расскажи нам,а зачем
20 RomanYS
 
11.01.19
15:50
(17) +100500
Но кто-то мог договориться этим термином что-то называть))
21 RomanYS
 
11.01.19
15:51
(14) А если базу прописывали когда сервер был недоступен, она гуид телепатировала? Не верю!
22 Serg_1960
 
11.01.19
15:58
В конфигураторе есть волшебная кнопка "Загрузить информационную базу...", которая свидетелей Иеговы (зачеркнуть) GUIDа ИБ ставит... эээ... в неудобное положение :)
23 Dmitry_333
 
11.01.19
16:12
(17) Ок. Тогда как назвать то, что хранит константа ИдентификаторИнформационнойБазы?
24 RomanYS
 
11.01.19
16:12
(22) Ну после первого запуска база с БСП спросит "база перемещена?" и возможно поменяет (1).

Так что (1) весьма подходит, вопрос только в том что нужно ТС
25 RomanYS
 
11.01.19
16:18
(23) "содержимое константы ИдентификаторИнформационнойБазы"

У меня кстати нет такой в самописке)
26 RomanYS
 
11.01.19
16:19
(23) интересно вопрос "А зачем ее можно использовать?" последует?))
27 Serg_1960
 
11.01.19
16:31
Вариант А: "защита от дурака" - алгоритм привязывается к конкретной базе так, чтобы в случае чего (например, запуска в другой базе) обработка не угробила бы данные другой базы;
Вариант Б: "защита авторского права" - обработка написана для конкретной базы заказчика так, чтобы она не работала, если украдут/передадут/сольют и т.д.
28 Serg_1960
 
11.01.19
16:32
"Зачем" - это не принципиально - сам вопрос хорош. Пятничный :)
29 Cyberhawk
 
11.01.19
16:33
(23) Идентификатор со времени последнего создания / перемещения текущей инфобазы
30 Dmitry_333
 
11.01.19
16:41
(27) "Вариант Б: "защита авторского права" - обработка написана для конкретной базы заказчика так, чтобы она не работала, если украдут/передадут/сольют и т.д."

Но выходит, что после перемещения базы, даже законно используемая обработка перестанет работать.

Есть ли более совершенный способ защиты?
31 Cyberhawk
 
11.01.19
16:42
(30) Выдаешь пользователю логин-пароль, пусть при старте конфигурации она ломится в инет на твой сервер и проверяет валидность
32 Вафель
 
11.01.19
16:43
(31) а проверка в самой конфе чтоли?
33 Dmitry_333
 
11.01.19
16:44
(31) У пользователя может отсутствовать интернет
34 Dmitry_333
 
11.01.19
16:48
(30) Переформулирую тогда вопрос так: есть ли в базе такая константа, которая не меняется при перемещении базы?
35 Dmitry_333
 
11.01.19
16:49
соотв-но под константой имею ввиду guid
36 dezss
 
11.01.19
17:01
Идеальной защиты не существует.
Се ля ви.
37 ДенисЧ
 
11.01.19
17:02
(36) Да запросто. Каждый запуск по телефону спрашивать у автора новый код запуска.
38 dezss
 
11.01.19
17:08
(37) А если нет интернета, то откуда прога будет знать, что он правильный?
Обфусцирован? Как-то считается? - это уже не идеальная защита.
39 ДенисЧ
 
11.01.19
17:11
(38) Алгоритм, зашитый в шифрованную длл. Например от текущей даты-времени-именипользователя-mac-ещё что-то.
40 dezss
 
11.01.19
17:11
(39) угу...а как разраб по телефону это все посчитает?
41 Cyberhawk
 
11.01.19
17:14
(32) Ага
42 dezss
 
11.01.19
17:15
(41) Она обфусцирована или как?)
43 ДенисЧ
 
11.01.19
17:16
(40) А у него своя прога для этого есть. Ему сообщают даннные, он вводит их в программу и сообщает ключ.
44 Serg_1960
 
11.01.19
17:17
(34) Поставка без исходного кода, привязка к комбинации уникальных данных информационной базы. Например, если заказчик - организация, то можно привязаться к реквизитам организации - искать их наличие в справочнике. Куда и как спрятать уникальные данные - это отдельный вопрос.
45 Cyberhawk
 
11.01.19
17:18
(42) Да, один защищенный обфусцированный модуль (вроде не ломается известными ломалками, в отличие от простого закрытого паролем модуля), менее 1% кода конфигурации
46 dezss
 
11.01.19
17:18
(43) Т.е. данные, из которых строится ключ, они уже знают?
И так же знают последние несколько ключей...
Тут есть некий простор для реверс-инжениринга
47 Cyberhawk
 
11.01.19
17:19
(44) "Поставка без исходного кода" // Вроде обычная такая поставка уже запросто обходится общедоступными инструментами
48 dezss
 
11.01.19
17:20
(45) Так это защита на всю конфигурацию?
А если этот модуль грохнуть? :)
49 ДенисЧ
 
11.01.19
17:20
(46) Да овощЪ там. У разраба генератор случайных чисел. А в конфигурации хеш считается.
50 dezss
 
11.01.19
17:21
(49) Хэш от чего, простите? От ГСЧ? И с чем же она сравнивается?
51 Cyberhawk
 
11.01.19
17:23
(48) На какие-нибудь ключевые операции-функции вешаешь вызов этого закрытого модуля и дело в шляпе. Все конечно же запаришься защищать, да оно и не нужно никогда.
52 Cyberhawk
 
11.01.19
17:23
+(51) Вешаешь конечно же не так, чтоб любой прог мог закомментировать и воссоздать логику, а чуть поглубже обертываешь
53 dezss
 
11.01.19
17:28
(51) вот только про (52) захотел написать)
Ну если так, то это довольно взломостойко...
В том плане, что взлом будет дороже платы)))
54 ДенисЧ
 
11.01.19
17:32
(50) А это уже проблема разработчика.
55 Dmitry_333
 
11.01.19
17:57
(45) Посоветуйте, пож-та, проверенный обфускатор.
56 korolar
 
11.01.19
18:04
а select DB_ID('BaseNameInSQL') не то?
57 Cyberhawk
 
11.01.19
19:09
(55) ВизеАдвизе, но там вроде только совместно с ключом (аппаратным или программным), зато без dll-ки
58 Сияющий в темноте
 
12.01.19
00:36
самое простое
привязка к инн или фсрар организации и генерация файла лицензии через подпись этого инн.

более сложно-или ключ или идентификатор компьютера
59 Сияющий в темноте
 
12.01.19
00:40
если что то серьезное,то dll и ключ защиты
просто,есть две проблемы:
1 - сломают
2 - у заказчика может не запускаться из-за виртуальных машин и т.п.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс