|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.09.2014, 09:38 | #11 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Открой в HEX редакторе такую программу. Увидишь все строки. Среди них будет и строка подключения и команды SQL. Я так некоторые надоедливые програмулинки под себя правлю.
I'm learning to live...
|
|
24.09.2014, 10:12 | #12 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,885
|
В дотнете и хексредактор не обязателен, любой ил-дизасм вскроет незащищённую прогу и покажет весь код вообще, и даже на обфускаторы находятся деобфускаторы.
Нельзя хранить в проге строку подключения да ещё и админской учётки. Сиквел имеет смысл защищать/делать доступ "ручками" - например тяжёлой авторизацией на сервере приложений в трёхзвенке, или, например, выведением всего значимого кода в хранимые процедуры, юзерским ролям выдать доступ только на исполнение процедур, каждую процедуру снабдить параметром "ключ от юзера" который внутри проверять и следить за правами. Либо на хранимки вешать права раздельно (ролями хотя бы), чтобы внутри них не воротить лишнего. На работе юзаем первый и второй вариант, лично я делаю частично второй вариант, но с динамически формируемой строкой подключения в рантайме, причём дельфи-код не декомпильнёшь по-простому, да и толку нет, пароль от юзера вклеивается при этом формировании в строку подключения и даже знай злоумышленник этот пароль - на серваке юзерская учётка бесправна, только выполнение чётко заданных хранимок. У второго варианта, с ролями и юзерами ( как объектами сервера и базы) есть правда недостаток - мигрировать между серваками и базами сложно, в этом плане трёхзвенка рулит. Последний раз редактировалось phomm; 24.09.2014 в 10:15. |
26.09.2014, 22:45 | #13 |
Форумчанин
Регистрация: 06.10.2011
Сообщений: 181
|
А кто-нибудь может по простому разжевать, чем отличается имя входа от имени пользователя баз данных?
Если я правильно понял, то имя входа - это грубо говоря логин, под которым разрешено подключаться к серверу баз данных (скажем, puser). Но при этом человек, вошедший под puser`ом, не имеет доступа к базе данных, если он не является ее пользователем. Так чтоли? |
26.09.2014, 23:39 | #14 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Имя входа - это User
А пользователь - это Role Это если судить по твоему. Роль - это свод правил, какие действия можно выполнять пользователю Пользователь - это аккаунт, который имеет права подключаться к СУБД (не к базе! заметь). Каждому пользователю даются роли. Когда пользователь (человек) вводит логин и пароль, СУБД открывает ему сеанс, считывает его роли (что он может делать в базе) и соответственно принимает запросы или отклоняет.
I'm learning to live...
|
27.09.2014, 11:48 | #15 |
Форумчанин
Регистрация: 06.10.2011
Сообщений: 181
|
Что-то я остался в замешательстве. Вот скрин.
Тут есть и Имя входа, и Роли, и Пользователи. Можно обо всех по порядку? И не отказался бы услышать про схемы и ключи и сертификаты. |
27.09.2014, 12:06 | #16 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Тебе надо взять любую книгу по Сиквелу и прочитать там подробнее о ролях и схемах.
На пальцах не обьяснишь.
I'm learning to live...
|
27.09.2014, 12:12 | #17 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,885
|
Имя входа , оно же логин (в т.ч. в англ версии) это доступ к экземпляру сиквела (возможность подключиться к нему в студии или из коммандной строки или через сеть).
Юзер он же пользователь, это "привязка" логина к базе, т.е. возможность данному логину работать с конкретной базой данных (т.к. на экземпляре сервера баз может быть много). Роли сервера это кое-что другое, к делу не относящееся (там находятся права по управлению самим сервером, без привязки к базам данных). А вот роли в разделе безопасности конкретной бд это как раз то, что позволяет разграничивать работу с логикой конкретной бд, доступ к её объектам. При чем там 2 типа ролей, роли бд и роли приложений. Я выше говорил о ролях бд, роли приложений точно не знаю для чего нужны, но насколько помню это для автоматизированного доступа к таким функция как репликация , bulk сервисы и прочие сервисы. |
07.10.2014, 09:52 | #18 |
Форумчанин
Регистрация: 06.10.2011
Сообщений: 181
|
Продолжу тему. Ребят, скажите, где ошибка.
Допустим я хочу организовать базу данных с разным уровнем доступа к ней. Я создаю схему (например, basic), в которой у меня будут лежать всякие таблицы, к которым обращаются пользователи. Затем я создаю роль (например, users), в которой указываю разрешения к ранее созданной схеме (basic). Затем создаю логин (login) для человека и пользователя (user) для него же, и помещаю этого юзера в роль users. Если не так, то я лох и бросьте в меня камень=)) Хотя в любом случае что-то не так. Так что камень лучше приберегите=)) В общем, если я делаю так, то логину приписывается просто роль сервера public. И как я понимаю она не дает возможность юзеру даже открыть базу данных. А если я логину даю роль админа, то он может пользоваться абсолютно всему возможностями админа. И как вот правильно это сделать? |
07.10.2014, 11:27 | #19 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Кстати ты камней хотел? Лови шлакоблочину - Если хочется красивой безопасности используй хранимые процедуры. Поясняю: Есть два вида процедур - обычные процедуры и функции, возвращающие как скаляр так и целую таблицу (наподобие вьюшек). Так вот мой тебе совет - таблицы пользователям не открывай. Лучше напиши функцию, которая будет брать из таблицы данные и возвращать пользователю. Пример я дал тут: http://www.programmersforum.ru/showthread.php?p=1419245
I'm learning to live...
|
||
07.10.2014, 16:32 | #20 |
Форумчанин
Регистрация: 06.10.2011
Сообщений: 181
|
То есть если я понял, то доступ к таблицам надо закрыть. А открыть только к хранимым процедурам? И информация будет записываться и выводиться из стаблиц???
И если можно про наследование поподробнее? А то я видимо где-то что-то недоглядел и не дочитал... |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
надо привязать php сайт к базе данных Access и что бы при заполнение формы на сайте данные сохранялись в базе | Алёна_))) | Microsoft Office Access | 2 | 20.06.2012 12:24 |
Доступ к базе назначенным пользователям | Kostya777 | Microsoft Office Access | 2 | 15.01.2011 23:14 |
Доступ к базе | gamaiunov_alex | Microsoft Office Access | 1 | 14.10.2010 14:02 |
Доступ к базе данных SMS windows mobile. | ZCL | Общие вопросы .NET | 0 | 23.08.2010 22:11 |
Доступ к базе из нескольких модулей | amigo555 | БД в Delphi | 7 | 13.04.2009 14:08 |