Имя: Пароль:
1C
1C 7.7
v7: скрыть пароль пользователя в батнике запуска 1С 7.7
0 isn978
 
14.12.12
13:21
Здравствуйте!
Подскажите как при создании батника запуска 1С 7.7 "скрыть" пароль пользователя?
"Скрыть" - показать в неявном виде например.
например создаю батник
set pr="C:\Program Files\1cv77\Bin\1cv7s.exe"
set pwn=123
%pr% enterprise /M /DC:\1C_Bases\Temp\TestPosl\ /NBackup /P%pwn%

пароль "123" - виден при редактировании батника, его может посмотреть слишком любопытный пользователь. хотелось бы как то его "спрятать". хеширование пароля и "подсовывание" его 1С 7.7 не увенчались успехом.
например хэш пароля "123" по методу "CRC32" = 884863d2.
Кто нибудь решал такую задачку? решение есть точно, ранее 6 - 7 лет назад я такое использовал, только потерял методику. :(
1 Джордж1
 
14.12.12
13:22
есть специальные программы которые из таких батников делает exe-ники
2 ДенисЧ
 
14.12.12
13:23
Переход на 8.2 и ставь доменную авторизацию
3 zladenuw
 
14.12.12
13:24
а если создать ярлык 1с7 и в ярлыке прописать строку авторизации ?
4 isn978
 
14.12.12
13:27
(1) Подскажешь программки?
(2) Переход не актуален. вопрос тут так не стоит
(3) в ярлыке тоже отображается пароль. необходимо автоматически запускать 1С для определенных целей.
5 Джордж1
 
14.12.12
13:29
(4)не помню название, поищи - небольшая утилита
6 isn978
 
14.12.12
13:32
(5) как искать? что в поиске написать?
7 1Сергей
 
14.12.12
13:33
(4) если автоматически запускается, значит на сервере. Кого-попало на сервер не пущать - не предлагать?
8 Ёпрст
 
14.12.12
13:33
храни пароля в ветке реестра, заместо батника юзай vbs, там простейший скрипт получения пароля с ветки реестра и запуск 1с-ины, ветку реестра закрой правами
9 Ёпрст
 
14.12.12
13:34
а в 7-ке.. защиты нет всё равно.. баловство это
10 isn978
 
14.12.12
13:37
(7) :) это не решает текущую проблему. Знать пароль к 1С системным инженерам тоже не стоит, если они к 1С отношения не имеют.
(8) интересная мысль, надо будет на досуге попробовать. Правда хотелось бы более простого решения.
(9) согласен. защита скорее от злобных дилетантов.
11 Kavar
 
14.12.12
13:39
А справами к батнику поиграться? дать права на исполение но не на чтение. или типа того.
12 Туц
 
14.12.12
13:41
(0) Если есть права админа у того от кого прячешь, то всё равно строку запуска он будет видеть! А в ней пароль будет всёгда открытый.
13 isn978
 
14.12.12
13:46
(12) вот вот. есть метод - раньше я его использовал, правда сейчас не вспомню какой. я вместо пароля подставлял набор символов аналогичных паролю, но внешне отличающихся.
14 isn978
 
14.12.12
14:03
спасибо всем откликнувшимся. простого решения на текущий момент нет. использую пока сложно читаемые пароли и ограничение доступа по правам к батнику.
15 Злопчинский
 
15.12.12
00:13
(8) эээ.. а как скрипт получит доступ к ветек, закрытой правами? - запускать скрипт от имени админа..?
16 Torquader
 
15.12.12
01:20
Самое интересное, что при передаче пароля в командной строке пользователь вправе запустить Wmi-сценарий, который вам покажет всю командную стоку приложения (не забываем, что она хранится в памяти приложения до окончания его работы).
Так что самый хороший способ - это "кидать" пароль в окно ввода пароля при запуске 1С - по крайней мере у меня получалось - через серию сообщений WM_CHAR в нужное окно.
Тогда более высокая гарантия, что никто ничего увидит.
Другое дело, что пароль 1С на самом деле ничего не защищает, так как никто не мешает пользователю скопировать папку базы в другое место (а это он может, так как может работать с базой), и поменять там users.usr на что-то другое.
Что ещё можно посоветовать - это замечательный способ запуска от имени другого пользователя RunAs.exe с возможностью запуска от имени другого пользователя, но тут та же самая засада - пользователь может увидеть пароль другого пользователя.
Есть, конечно, решение - написать службу, которая запускает 1С от имени нужного пользователя и передаёт её на текущий экран - такой способ достаточно сильно позволит повысить безопасность, но опять же - копирование базы никто не отменял.
P.S. защищать решето бесполезно.
17 Злопчинский
 
15.12.12
01:32
1С - это не средство защиты данных, это средство автоматизации...
18 Злопчинский
 
15.12.12
01:32
..типа
19 vde69
 
15.12.12
02:15
http://infostart.ru/public/16686/

Позволяет исключить ввод паролей пользователями (использует Win логины), автоматически предоставлять пользователю список актуальных баз (именно актуальных, то есть в те которые он имеет право на вход). Ведет 2 списка баз "основные" "дополнительные". Версия 2.0 содержит дополнительный функционал авто блокировки баз для всех пользователей, и сканер файловой безопасности.
20 Злопчинский
 
15.12.12
02:35
(19) бяка, в вин7 "монопольный режим" налазит на галочку...
21 КонецЦикла
 
15.12.12
02:41
Так батник же, наверное, на сервере?
Положить на диск без права доступа всяким...
Регламент запускать от имени одмина
Узнают - не страшно, главное чтобы не поломали
Если батник служебный запросто могут смотреть, то, наверное, и редактировать могут :)
22 НаборДанных
 
15.12.12
09:22
23 Kashey
 
15.12.12
09:24
(16)>> Что ещё можно посоветовать - это замечательный способ запуска от имени другого пользователя RunAs.exe с возможностью запуска от имени другого пользователя, но тут та же самая засада - пользователь может увидеть пароль другого пользователя.

В Windows XP Professional и Windows 2003 у команды RUNAS появился новый ключ, который эту проблему решает - /SAVECRED. Если вы укажете его в команде RUNAS, то пароль вам будет предложено ввести только один раз. А далее всевозможные запуски любых программ от имени этого пользователя через команду RUNAS пароля запрашивать не будут!
24 Gepard
 
15.12.12
10:41
25 Torquader
 
15.12.12
17:43
(23) Так я об этом параметре и говорю - без него RanAs требует вводить пароль (его нельзя задавать в параметрах командной строки).
А с этим параметром пароль сохраняется в профиле пользователя, где пользователь прекрасно может посмотреть свои сохранённые пароли и увидеть то, что нужно.

Я бы к этой проблеме подошёл немного с другой стороны:
1) Для чего нужен пароль входа в 1С - чтобы пользователь не мог туда войти - но если вы сохраняете пароль, то он уже туда вошёл - что ещё вы хотите защитить.
2) В 1С есть кнопка блокировка, которая не отключается без патча исполняемого файла - то есть, если пользователь её нажмёт, то ему придётся вводить пароль, который он не знает - то есть потенциальная засада и проблема.
3) Если мы хотим защитить 1С от запуска на других рабочих местах, то не проще ли эту проблему решить на уровне доступа к директории базы для пользователей, работающих с этих рабочих мест.
4) Все пароли к 1С живут в файле users.usr - к счастью 1С поддерживает установку запрета записи на этот файл - только нужно снимать запрет на момент внесения в него исправлений - иначе ничего не получится. Пароли хранятся как md5(Ucase(PasswordString)), что позволяет просто по базе ключей md5 подобрать пароль для любого пользователя (ну с солью их программисты, видимо, работать не умеют).
5) Резюмируя сказанное - напишите свою форму авторизации и открывайте её в глобальном модуле при старте в модальном режиме - тогда есть большая гарантия, что будет какая-то защита, а также что можно предусмотреть все ситуации, в том числе и проверка компьютера, на котором произошёл запуск.
6) В 1С вся информация хранится в открытом виде (если мы не рассматриваем режим Sql, а в случае sql - хранятся данные для доступа к sql-серверу) и, спрашивается, что мы хотим защитить ?
P.S. если уж очень хочется, чтобы работали именно в 1С (ну, пользователи привыкли и печатные формы прекрасные - а что его хорошего в 1С), то внутри 1С открывайте XmlHttp-запрос к удалённому серверу и запрашивайте данные по шифрованному каналу, проверяя пароли пользователей и прочую информацию - всё будет работать, и данные никто и никогда не упрёт, конечно, если их нельзя с экрана сфотографировать - в противном случае - смартфон с камерой и кабелем, эммулирующим нажатие PageDown на клавиатуре даст возможность за достаточно короткое время получить все данные без какого-либо вмешательства (кроме переключения клавиатуры, что в случае PS/2 просто не отслеживается).
26 EvgeniuXP
 
15.12.12
18:34
AoutoIT, или любой другой язык, сделай ехе в него и засунь пароль.