Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Где хранить строку подключения к БД в проекте? / 25 сообщений из 32, страница 1 из 2
19.11.2014, 03:08
    #38810250
viton-zizu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где хранить строку подключения к БД в проекте?
Ребят, такой вопрос, где хранить строку подключения к БД? я Храню в App.config. Но допустим установив это приложение пользователю, он сможет открыть этот файлик и посмотреть данные подключения, подключиться к бд с менеджера допустим и прописать себе любые права в таблице Permissions.
Подскажите как было бы правильней организовать такой механизм работы? Пользователь на сервере работающий с БД заводится только один, новых заводить нельзя.
Как вариант у меня пока добавлять к строке подключения поля User="";Password=""; программно, но может есть более элегантные решения)
...
Рейтинг: 0 / 0
19.11.2014, 09:32
    #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
19.11.2014, 09:49
    #38810354
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где хранить строку подключения к БД в проекте?
Артем GНе понял, а как юзер сможет посмотреть app.config
глазами

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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


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