Имя: Пароль:
1C
1С v8
Хранение пароля для подключения к внешнему SQL
,
0 Матадор
 
19.12.11
14:28
Из 1С осуществляется подключение к внешнему источнику MS SQL 2008 через
COMОбъект("ADODB.Connection"). При этом в строке подключения в явном виде лежит и логин и пароль. Хотелось бы  как нибудь защитить эту информацию от посторонних глаз, в т.ч. и других программистов.
Есть способы?
1 Ёпрст
 
19.12.11
14:31
храни в реквизите формы, реквизит показывай в виде звездочек.. само значение - где угодно, хоть в хранилище..
2 Amiralnar
 
19.12.11
14:36
Доменная авторизация?
3 Матадор
 
19.12.11
14:42
(2) для того чтобы таким способом авторизоваться на SQL надо в домене авторизоваться, а это тоже логин, пароль :)
4 Господин ПЖ
 
19.12.11
14:43
из 1С дергать скрипт vbs, скрипт зашифровать средствами винды
5 rs_trade
 
19.12.11
14:45
(4) может проще модуль закрыть?
6 Defender aka LINN
 
19.12.11
14:45
(1) В момент подключения один фиг все можно будет увидеть :)
7 Матадор
 
19.12.11
14:46
(1)(2)(5) Поясню чуть подробнее.
Через ком-объект создается соединение на внешний SQL, куда затем пишется много чего. Внешний лог, который может вызываться как из клиента, так и из фонового задания, из разных баз данных. Соответственно авторизация только SQL, где бы ни хранился пароль в момент подключения он через отладчик виден, запароленный модуль можно вскрыть.
Что еще я не перечислил? :)
8 Матадор
 
19.12.11
14:49
Пока придумал только одно - sql юзер имеет права только на одну таблицу во внешней базе, а в ней триггером все инсерты дублируются в другую, а потом удаляются.
9 Господин ПЖ
 
19.12.11
14:50
гнездо параноика...
10 leshikkam
 
19.12.11
14:54
А может есть возможность Windows авторизацию использовать?
11 Vladal
 
19.12.11
14:55
Хранить логин-пароль не в явном виде - зашифровав, например, Base64 - посмотри в СП Base64Значение и Base64Строка.

НО!

В момент подключения все равно это расшифровывается и тот же программер в отладчике увидит строку подключения в явном виде.

Скуль 2008? Значит и сервак 2008, в диспетчере задач которого достаточно включить отображение командной строки.

Как вариант - запускать из скрипта JS, тогда диспетчер задач пишет процесс интерпретатора и параметр командной строки embedded. И всё. Никто ничего не видит.
12 Vladal
 
19.12.11
14:57
Тогда еще политикой рубить использование диспетчера задач.
Если программер зинтересован будет - он все твои коды достанет из дебаггера.

Тогда создать служебную учетку для робота, ей дать доступ к серверу скуля и от её имени запускать.
13 Vladal
 
19.12.11
14:59
(4) Скрипт можно шифровать и средствами интерпретатора, типа предкомпиляция и эту строку можно вставлять в код 1С.
При вызове такой строки JS сам разберется с твоим скриптом и отработает его.
14 Матадор
 
19.12.11
15:00
(13) Пример можно? и как передавать в такой JS параметры из кода 1С?
15 Vladal
 
19.12.11
15:01
Да так же и передавать. Только найду ща как его зашифровать
16 rs_trade
 
19.12.11
15:01
если такая параноя, используйте не АДО из 1С, а SSIS для трансформации данных.
17 Vladal
 
19.12.11
15:02
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс