powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Где хранить строку подключения к БД в проекте?
25 сообщений из 32, страница 1 из 2
Где хранить строку подключения к БД в проекте?
    #38810250
viton-zizu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребят, такой вопрос, где хранить строку подключения к БД? я Храню в App.config. Но допустим установив это приложение пользователю, он сможет открыть этот файлик и посмотреть данные подключения, подключиться к бд с менеджера допустим и прописать себе любые права в таблице Permissions.
Подскажите как было бы правильней организовать такой механизм работы? Пользователь на сервере работающий с БД заводится только один, новых заводить нельзя.
Как вариант у меня пока добавлять к строке подключения поля User="";Password=""; программно, но может есть более элегантные решения)
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38810340
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не понял, а как юзер сможет посмотреть app.config

вы компилируете ехе и отдаете его юзеру или вы включаете в сборку app.config?
если да то с какой целью?

Как вариант можете создать класс

Public Class Connection

'ATTENTION! DLL 'System.Configuration' was added to references.

''' <summary>
''' Get ConnectionString data
''' </summary>
Shared ReadOnly Property ConnectionString As String
Get
Dim StringBuilder As New SqlConnectionStringBuilder
StringBuilder.DataSource = "Имя Сервера"
StringBuilder.InitialCatalog = "Имя Базы"
StringBuilder.PersistSecurityInfo = True
StringBuilder.UserID = ""
StringBuilder.Password = ""
StringBuilder.ConnectTimeout = 0
StringBuilder.ApplicationName = ""
Return StringBuilder.ToString()
End Get
End Property

End Class
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38810354
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артем GНе понял, а как юзер сможет посмотреть app.config
глазами

Артем GКак вариант можете создать класс
ConnectionStringBuilder давно существует
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38810371
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viton-zizuПодскажите как было бы правильней организовать такой механизм работы? Пользователь на сервере работающий с БД заводится только один, новых заводить нельзя.
Как вариант у меня пока добавлять к строке подключения поля User="";Password=""; программно, но может есть более элегантные решения)
Если строка подключения находится у юзера, то исходите из того что она общедоступна! Куда бы Вы ее не засунули, при необходимости любой хакер ее достанет.
Поэтому есть два варианта. Или Вы пользователю доверяете или нет. Если доверяете, то храните строку подключения где угодно. Если нет, то никакого прямого доступа в таблицы, только через хранимки или app-сервер.
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38810382
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viton-zizu,

Используйте доменную аутентификацию, и не парьтесь со строкой соединения
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38810392
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viton-zizuПользователь на сервере работающий с БД заводится только один, новых заводить нельзя.
это кто так альтернативно одарён?
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38810402
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Используйте доменную аутентификацию, и не парьтесь со строкой соединения Угу... А запросы слать "на деревню дедушке"?
Server= [ServerAddress] ;Database= [DataBase] ;Trusted_Connection=True;
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38810415
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mvArm79Используйте доменную аутентификацию, и не парьтесь со строкой соединения Угу... А запросы слать "на деревню дедушке"?
Server= [ServerAddress] ;Database= [DataBase] ;Trusted_Connection=True;
И как эта строка поможет получить доступ с БД человеку, не знающему доменный пароль?
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38810485
viton-zizu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а app.config можно не включать в сборку!? А от куда тогда приложение будет брать строку подключения сохраненную там? Или app.config можно как то вшивать в exe?))
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38810693
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79sphinx_mvпропущено...
Угу... А запросы слать "на деревню дедушке"?
пропущено...

И как эта строка поможет получить доступ с БД человеку, не знающему доменный пароль ?Упростим задачу: у человека ЕСТЬ доменная учетная запись... :)
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38810772
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mvArm79пропущено...

И как эта строка поможет получить доступ с БД человеку, не знающему доменный пароль ?Упростим задачу: у человека ЕСТЬ доменная учетная запись... :)
Значит у него есть и права доступа к БД, чему вы так удивляетесь? Тут же уже сказали, строка соединения с БД - это отнюдь не секретная информация. Поэтому нужно сделать так, чтобы просмотр этой строки левым человеком не имел последствий. Человек, имеющий доменную учетку, уже не левый.

Можно, конечно, пытаться еще прикрутить шифрование секции в app.config, но по моему это избыточная ересь...
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38810827
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79viton-zizu,

Используйте доменную аутентификацию, и не парьтесь со строкой соединения
Используя доменную аутентификацию пользователь будет:
viton-zizu... подключиться к бд с менеджера допустим и прописать себе любые права в таблице Permissions.
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38810836
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КArm79viton-zizu,

Используйте доменную аутентификацию, и не парьтесь со строкой соединения
Используя доменную аутентификацию пользователь будет:
viton-zizu... подключиться к бд с менеджера допустим и прописать себе любые права в таблице Permissions.

Осталось только понять, почему у какого-то там менеджера будут права на запись в таблицу permisions
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38810839
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Осталось только понять, почему у какого-то там менеджера будут права на запись в таблицу permisions
аккаунт один на всех. Кто автор той идет - топикстартер не признаётся
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38810842
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилArm79Осталось только понять, почему у какого-то там менеджера будут права на запись в таблицу permisions
аккаунт один на всех. Кто автор той идет - топикстартер не признаётся
о том то и речь - не заниматься ерундой с одним аккаунтом, а каждому пользователю разрешить ходить под своей учеткой.
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38811241
wamaco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viton-zizuРебят, такой вопрос, где хранить строку подключения к БД? я Храню в App.config. Но допустим установив это приложение пользователю, он сможет открыть этот файлик и посмотреть данные подключения, подключиться к бд с менеджера допустим и прописать себе любые права в таблице Permissions.
Подскажите как было бы правильней организовать такой механизм работы? Пользователь на сервере работающий с БД заводится только один, новых заводить нельзя.
Как вариант у меня пока добавлять к строке подключения поля User="";Password=""; программно, но может есть более элегантные решения)

ёптить... шифровать App.config проще всего. 2 процедурки.
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38811256
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ключ для расшифровки где хранить? там же?
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38811258
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProА ключ для расшифровки где хранить? там же?
Шифрование на уровне машины вроде как.
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38811282
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче, пока софт ходит под одной учеткой для пользователей с любыми ролями, все поползновения - это полумеры.
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38811316
wamaco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProА ключ для расшифровки где хранить? там же?

да обычного xor на символы (char в string) хватит. злобный менегер зачпокается расшифровывать. :)
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38811327
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропил,

Ваших коментария по поводу глазами я не очень понял.

Что вы имели ввиду? Передал я скомпилированый ехе пользователю.

Дальше без ехидства поподробнее...
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38811337
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артем GДальше без ехидства поподробнее...
переименованный app.config лежит рядом с exe файлом, пользователь модет открыть его текстовым редактором - это и есть "глазами"

строку соединения (или только user/password, сервер и база пусть в конфиге останутся) можно поместить прямо в код, не в конфиг файл - в конфиге ещё масса полезного может лежать

нехорошо конечно, но с одним аккаунтом в двузвенке ничего путного не получится, всякие xor создают иллюзию безопасности, хотя многие всю жизнь находятся в мире иллюзий, ничего страшного
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38811364
Gluck_13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил
строку соединения (или только user/password, сервер и база пусть в конфиге останутся) можно поместить прямо в код, не в конфиг файл - в конфиге ещё масса полезного может лежать



А дальше - пользователь копирует exe, относит его хакеру Васе, платит денежку - и получает user/password, который прятали в коде.
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38811402
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluck_13,
какая разница или екзешник отнести или паяльник в жопу, при такой архитектуре где все сидят под рутами гы гы
...
Рейтинг: 0 / 0
Где хранить строку подключения к БД в проекте?
    #38811450
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluck_13А дальше - пользователь копирует exe, относит его хакеру Васе, платит денежку - и получает user/password, который прятали в коде.
меня то не уговаривайте,
но мы все живём в реальном мире, а в нём подобных приложений - уйма.

Топикстартер так и не объяснил. откуда взялось ограничение - один аккаунт на всех
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Где хранить строку подключения к БД в проекте?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]