В пакете Oracle Odac v.5.10 в компонент OraSession можно вписать адрес БД, имя пользователя и пароль в design time. Засада в том, что потом эти данные можно легко из exe вытянуть - они в конце exe-шника хранятся, как и все запросы и пр...
Кто нибудь знает, как этого избежать? При учете, что вводить пароль при старте программы нежелательно.
На рассмотрении вариант вписать логин/пароль в private поля формы в шифрованном виде, а потом в методе FormCreate расшифровать их и установить соединение.
Oracle ODAC (Delphi 7) и пароли
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Конкретнее, все это хранится в ресурсах.
Если Oracle Odac у Вас с исходниками, то можно у соответствующих published свойств (включая active/connected... или как там оно называется) поставить "store fase" и пересобрать. Но в этом случае логин/пароль/коннекттстринг естественно прийется вводить всегда при запуске.
Можно также присваиватьь эти свойства в runtime. Например, в обработчике OnCreate той фоормы на которой лежит TOraSession, но если это сделать открыто, то строковую константу также можно будет найти в exe-файле, а поэтому ее надо закриптовать.
Проще всего (это минимальный вариант) по-XOR-ить с другой ключевой строкой.
Чесно говоря, довольно странное желание вставить кооннектстринг в код программы.
PS
Я последний раз ODAC использовал больше года назад... Там кажется есть возможность в реестре хранить шифрованный коннектстринг... Или я ошибаюсь...
Если Oracle Odac у Вас с исходниками, то можно у соответствующих published свойств (включая active/connected... или как там оно называется) поставить "store fase" и пересобрать. Но в этом случае логин/пароль/коннекттстринг естественно прийется вводить всегда при запуске.
Можно также присваиватьь эти свойства в runtime. Например, в обработчике OnCreate той фоормы на которой лежит TOraSession, но если это сделать открыто, то строковую константу также можно будет найти в exe-файле, а поэтому ее надо закриптовать.
Проще всего (это минимальный вариант) по-XOR-ить с другой ключевой строкой.
Чесно говоря, довольно странное желание вставить кооннектстринг в код программы.
PS
Я последний раз ODAC использовал больше года назад... Там кажется есть возможность в реестре хранить шифрованный коннектстринг... Или я ошибаюсь...
Народ! Срочно нужен ODAC для 7 дельфы не триал версия или триал 4.1
Может есть у кого киньте сылочку или в почту emk@aport.ru
Может есть у кого киньте сылочку или в почту emk@aport.ru
[quote="Naeel Если Oracle Odac у Вас с исходниками, ... [/QUOTE"]А не подскажете, где можно посмотреть (взять) исходники. Как я понял, на офиц.сайте (http://www.devart.com/odac) эти компоненты идут без исходных текстов.
Причина вопроса такова. Есть класс TQraSQL. В нем есть поле Session (собстванно, и во многих других классах). В справке написано "Use the Session property to specify the session in which SQL will be executed."
Но пробы показывают (смотрю под отладчиком), что Session у меня nil. Тем не менее, запрос (Execute ()) выполняется! Вот и интересно было бы посмотреть по исходному тексту, как и что там в этом случае происходит.
Мой экземпляр класса TQraSQL лежит на форме (НЕ главной форме приложения), приложение само довольно могучее (я ковыряюсь в одном из его "уголков").
Причина вопроса такова. Есть класс TQraSQL. В нем есть поле Session (собстванно, и во многих других классах). В справке написано "Use the Session property to specify the session in which SQL will be executed."
Но пробы показывают (смотрю под отладчиком), что Session у меня nil. Тем не менее, запрос (Execute ()) выполняется! Вот и интересно было бы посмотреть по исходному тексту, как и что там в этом случае происходит.
Мой экземпляр класса TQraSQL лежит на форме (НЕ главной форме приложения), приложение само довольно могучее (я ковыряюсь в одном из его "уголков").