Имя: Пароль:
1C
1С v8
Где в БП спрятать дату
0 Rizhij_Nikitos
 
15.12.16
22:05
В общем у меня тут БП 2.0 ну пусть с 65 релиза. Платформу используем не меньше 8.2.19, то есть задача решается без модных фишек платформ 8.9.999.

Задача - куда спрятать значение типа дата время, чтобы иметь к нему доступ из конфигуратора, чтобы не знающий где оно лежит не смог его оттуда извлечь? Ограничения - доступ из под любого пользователя. По правам чем меньше тем лучше, но если что то придумаете - уточняйте, если требуются админские права или там администрирование данных роль.

Как я себе это вижу: какой то свой личный идентификатор, я по нему сохраняю в базу значение. Достать можно, только зная этот идентификатор.
1 Garykom
 
гуру
15.12.16
22:06
Бюджет?
2 Rizhij_Nikitos
 
15.12.16
22:07
(1) Хозрасчет
3 Rizhij_Nikitos
 
15.12.16
22:08
Обычная БП 2.0.65.ХХ(базовая, то есть своего ниче не допиливаем)
4 Garykom
 
гуру
15.12.16
22:08
Да пофиг откуда вы $ берете, сколько готовы отстегнуть за решение
5 h-sp
 
15.12.16
22:11
(3) в качестве личного идентификатора можете эту же дату и использовать. Тогда ее можно и в базе не хранить, вы ее и так знаете.
6 Rizhij_Nikitos
 
15.12.16
22:11
(4) Деньги платим за решение задачи. Это не задача.
7 Rizhij_Nikitos
 
15.12.16
22:12
(5) ну предположим, а что с идентификатором то делать? Его куда девать?
8 НаборДанных
 
15.12.16
22:13
(6)Хотелось бы понять, а что это?
"БП 2.0.65.ХХ(базовая", задача не имеет решения.
9 Garykom
 
гуру
15.12.16
22:14
(8) Имеет, просто оно извращенное и прочитать не смогут, но удалить легко.
10 h-sp
 
15.12.16
22:16
(7) идентификатор не нужен тогда
11 Rizhij_Nikitos
 
15.12.16
22:18
(8) Это - Бухгалтерия предприятия версии начиная с 2.0.65. Задача имеет решение, я своих имею как минимум несколько штук, я сюда написал, может тут кто что умное посоветует, куда положить значение в конфе так чтобы его нельзя было просто просмотреть в списке, либо очистить неглядя. Извращения приветствуются.
12 PLUT
 
15.12.16
22:19
(0) йогурт без даты

курсы валют не подходит? там дат хоть ж.пой ешь, ну или любой документ установка цен номенклатуры. только ты будешь знать какой именно документ. но номеру документа и году йопта получишь дату
13 youalex
 
15.12.16
22:19
(6) это действительно не задача, это скорее проблема, возникшая при проработке выбранного способа решения. Изначально задача - как звучит?
14 НаборДанных
 
15.12.16
22:19
(11)Видимо я не понял поток сознания, который незадача в (0).
15 Rizhij_Nikitos
 
15.12.16
22:20
(13) задача хранить дату начала работы с демоверсией
16 PLUT
 
15.12.16
22:20
(11) ааа, это типа защиты пофигурации
17 Rizhij_Nikitos
 
15.12.16
22:20
(16) да, от немцев
18 Garykom
 
гуру
15.12.16
22:22
(15) Объясни как "демоверсия" может быть "базовой"?
19 НаборДанных
 
15.12.16
22:22
(17)Храни в базе пикчу гитлера, в картинке закодируй датувремя, предупреди, что при удалении картинки наступит капут.
20 Rizhij_Nikitos
 
15.12.16
22:26
(19) неуниверсально. Если у меня 1000 оффлайн пользователей, мне это с инструкцией прикладывать? Пользователям вообще не должен ничего знать - это не его дело.
21 Rizhij_Nikitos
 
15.12.16
22:27
(18) бухгалтерия базовая.
22 youalex
 
15.12.16
22:27
(15) если эта дата используется в логике, и у кого-то есть права на отладку - практически анрил. Если только не хранить это значение в другой базе (недоступной), из которой возвращать результат логики
23 Rizhij_Nikitos
 
15.12.16
22:28
(22) закрытый модуль.
24 youalex
 
15.12.16
22:28
Или внешняя компонента
25 youalex
 
15.12.16
22:29
(23) базовую конфу же нельзя править?
26 Rizhij_Nikitos
 
15.12.16
22:29
(25) конфу я не правлю
27 Fragster
 
гуру
15.12.16
22:33
так и запишем, компанию Инженер-Центр из г. Волжский нанимать не будем.
28 Rizhij_Nikitos
 
15.12.16
22:33
Вопросы странные, может кому то станет понятнее, что речь идет о внешней обработке. То есть у меня есть код, который должен сохранить в базу значение, так чтобы его нельзя было достать. Код который это делает, закрыт, то есть как я это туда сохраняю - никто не знает. Соответственно источник должен быть такой, чтобы только зная идентификатор, можно было получить обратно свое значение.
29 youalex
 
15.12.16
22:34
Если безопасность не критична - можно в макет внешника запихать (при первом получении пихать в кэш пользователя)
30 Garykom
 
гуру
15.12.16
22:36
(21) Активация базовой чьим пином?
31 Rizhij_Nikitos
 
15.12.16
22:36
(29) А в макет внешника разве можно из кода записываться? В любом случае мне привязка к базе нужна а не к внешнику.
32 Rizhij_Nikitos
 
15.12.16
22:37
(30) того, кем она используется.
33 Garykom
 
гуру
15.12.16
22:38
(32) И? Что такое активация?
34 Rizhij_Nikitos
 
15.12.16
22:39
(33) Если честно я связи вообще не улавливаю. К чему эти вопросы вообще? О чем они? Сформулируй понятнее.
35 Garykom
 
гуру
15.12.16
22:40
(34) Вместо того чтобы хранить код в базе клиента, храни идентификатор базы клиента у себя.
36 Rizhij_Nikitos
 
15.12.16
22:41
(35) оффлайновая версия. Идентификатор базы клиента мне ничего не дает.
37 Garykom
 
гуру
15.12.16
22:42
(35)+ Понятно что без получения разрешения от твоего сервиса (при запуске через инет) твоим "закрытым кодом" нетленка-обработка внешняя не откроется.

Если нужна работа без инета в демо режиме то выдаешь пины на запуски, каждый пин действует только нужное кол-во дней, так что запустить один раз и не закрывать не выйдет.
38 Garykom
 
гуру
15.12.16
22:44
Короче обычный механизма активации программных лицензий от 1С только самодельный аналог.
39 Rizhij_Nikitos
 
15.12.16
22:46
(37)Такая на покупной уже стоит, задача как раз дать скачивать с сайта эту демо версию и отбить чтобы не работала больше определенного времени. Вот мне и надо дату последнего запуска куда то сохранить.
40 Garykom
 
гуру
15.12.16
22:48
(39) Блин на каждый запуск нужно будет ввести пин (который ты выдал списком по уникальному id базы. для другой пины не подойдут)

Или автоматическая активация при каждом запуске с передачей id базы на твой сервер/сервис и получения ответа можно или нет работать.
41 Rizhij_Nikitos
 
15.12.16
22:52
(40) Идею с пинами я понял. Она уже в обсуждении. Про интернет версию я тоже понял, этот вариант не рассматривается ввиду необходимости возможности работы демо версии - оффлайн.
42 Garykom
 
гуру
15.12.16
22:57
Ну раз понял то прочие "варианты" уже только платно )) И да у платформы 1С (даже базовой) все для этого есть и штатное.
43 Rizhij_Nikitos
 
15.12.16
23:01
(42) Для этого - это для чего? Для защиты? Мне не защита нужна. Мне нужно что то вроде хранилища для данных. Если платно, то за что конкретно. Я не понимаю что предлагается.
44 Garykom
 
гуру
15.12.16
23:05
Предлагается самому почитать документацию по платформе 1С, ну или заплатить любому кто читал нужные места.
45 Rizhij_Nikitos
 
15.12.16
23:06
(44)Угу возьму белый двухтомник с полки и прям с утра и до вечера. Я имел ввиду что предлагается в виде товара? За что платить то?
46 Garykom
 
гуру
15.12.16
23:09
47 Rizhij_Nikitos
 
15.12.16
23:14
(46) Хорошая притча, слышал, но если бы хотел заплатить за решение денег - зашел бы на сайт к фрилансам. Пока же я жду бесплатных ответов на свой вопрос от людей которые не против поделиться знанием 1 конкретного метода или направлением про что читать. Раньше миста - это было именно такое место.
48 Fram
 
15.12.16
23:25
Предоставляй вместе с обработкой некий код, в который зашифруй  дату окончания. При первом запуске запрашивай его у пользователя и пиши в доп сведения (в бп 2.0 должно быть). Также при каждом запуске пиши зашифорванное текущее время в качестве защиты от переустановки времени назад.
Неидеальное, конечно, решение, но лучше, чем ничего
49 Garykom
 
гуру
15.12.16
23:43
(48) Кто помешает все время запрашивать "новый код" типа под видом новой фирмы и использовать на прежней базе с очисткой всего что "старый код" записывал? Выяснить куда пишет легко сравнением до и после запуска.
50 Fram
 
15.12.16
23:49
(49) никто. вопрос в том стоит ли его поделка таких ухищрений?
51 Garykom
 
гуру
16.12.16
00:04
(50) Это прозу жизни ему еще предстоит выяснить )) Когда даже бесплатные и открытые поделки никому не нужны кроме считанных пользователей.

Кстати на ИС платят не за сами поделки (их легко найти в других местах бесплатно) а "за удобство".
Защищать требуется когда практически монопольное положение на рынке, но какая может быть монополия на внешнюю обработку? Будет популярная легко напишут аналог или даже выложат из уже готовых.
52 youalex
 
16.12.16
00:04
любой триал, функционал которого выполняется у клиента - ломается, так или иначе.
53 Rizhij_Nikitos
 
16.12.16
00:12
(48) собственно про доп сведения и подобные места я и интересовался.

Я понимаю что чтобы я тут не написал - это можно сломать. Вопрос в стоимости защиты и стоимости продукта. Пока первое не выше второго. Задача - сохранить значение в базе так чтобы к нему было трудно получить доступ. Только зная идентификатор значения. Этого будет достаточно чтобы в тупую защита не ломалась.
54 Torquader
 
16.12.16
01:03
(53) Если код на 1С, то всегда можно узнать, что он делает.
Если внешняя компонента, то вопросов с местом не будет.

Если мы что-то сохраняем в самой базе 1С, то это быстро отлавливается через загрузить-выгрузить.

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

Есть куча директорий, в которые 1С пишет данные, но все они не защищены от стирания.

Если система NTFS, то можно в файле базы данных организовать альтернативный поток, в который можно записать всё, что угодно, но утилита chkdb эти данные удалит, так как она переписывает в новый файл всё, что найдёт в старом.
55 Torquader
 
16.12.16
01:05
Самый простой вариант - получение обработки с сайта для определённого ИНН организации, а в самой обработке вместе с ИНН писать дату окончания работы.
И, интересно, если пользователь вернёт дату на компе назад - что будет ?
56 Garykom
 
гуру
16.12.16
01:17
(55) Какая проблема в полученной обработке подменить ИНН и дату окончания на нужные?
57 Garykom
 
гуру
16.12.16
01:18
(56) В смысле это код выцепить проблема, а просто байтики то переписать не так сложно.
58 Torquader
 
16.12.16
01:40
(57) Ну, если эту дату хорошо "шифрануть", то будет не так просто. Другое дело, что если кто-то получает несколько обработок для разных фирм, то он может увидеть что и где.
Но есть предложение, писать в обработку список всех фирм с датами, тогда будет очень сложно что-то поменять.
59 DimVad
 
16.12.16
07:36
Я может, конечно, не всё понял...
Но допустим есть справочник например "МоиКонстанты".
Заводим там реквизит с именем "Хрень заумная" (шоб никто не догадался) и тип - "Хранилище значений".

Ну да и пишем/читаем туды даты, таблицы значений, соответствия - чего душа пожелает.

Если надо спрятать и код, что читает - добавьте ещё один элемент справочника и запишите туды обработку (ну как в справочнике "ВнешниеОбработки").
60 Провинциальный 1сник
 
16.12.16
07:39
А что, в БП2 нет возможности хранения дополнительных реквизитов и сведений? А чтобы никто не мог увидеть - шифровать..
61 DimVad
 
16.12.16
07:44
(60) Как я понял, ТС боится, что "код шифрующий" могут найтить просмотрев базу. А если код спрятать в обработке спрятанной в реквизите с типом хранилище и с заумным названием - никто не найдёт... ;-)

Заодно также и значения прятать - можно хоть dbf строк так на миллион закатать, если есть желание... Кстати, хорошо зипуется... ;-)
62 DimVad
 
16.12.16
07:47
(61) Вспомнился анек:
- Доктор, как мне надёжно предохраниться от спида ?
- Нужно одеть презерватив, а сверху замотать бинт. Потом надеть ещё один презерватив - а сверху ещё один бинт. Потом ещё один презик и ещё один бинт.

И самое главное - НИКАКИХ СНОШЕНИЙ !!!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан