Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Защита данных в Access 2003, я в легком шоке 
V
    Опции темы
RockClimber
Дата 15.1.2009, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



Сделал базу, создал в ней несколько пользователей, раздал им права... Надо коннектиться из Excel...
Написал макрос:
Код

Sub test()

Dim db As ADODB.Connection
Dim rs As ADODB.Recordset
Dim cmd As ADODB.Command

Set db = New ADODB.Connection
Set rs = New ADODB.Recordset

db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0"
db.Open "c:\_work\automate\db1.mdb"

Set cmd = New ADODB.Command
Set cmd.ActiveConnection = db
With cmd
    .CommandText = "тут у меня текст запроса"
    .CommandType = adCmdText
    .Execute
End With

rs.ActiveConnection = db
rs.Open cmd
 ' дальше идут различные манипуляции с данными и вывод на лист экселя

Если попытаться открыть файл самим аксессом, тот спрашивает логин и пароль, все как надо.
А вот макрос из Excel коннектится, данные получает, а БД даже не спрашивает, кто такой, откуда... Так и было задумано? А как же пользователей различать?
P. S. Была когда-то книжка, отдал знакомым. Раньше, чем через несколько дней, не отберу...


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
Akina
Дата 15.1.2009, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



А клавиша F1 на клавиатуре у тебя выломана?

Цитата

Поскольку учетные записи пользователя «Admin» совершенно одинаковы для всех экземпляров Microsoft Access, то первым шагом при организации системы защиты является определение учетных записей администратора и владельца (или единой учетной записи, являющейся записью и администратора, и владельца). После этого следует удалить учетную запись пользователя «Admin» из группы «Admins». Если этого не сделать, любой пользователь Microsoft Access сможет подключиться к рабочей группе с помощью учетной записи «Admin» и получить все разрешения на доступ к таблицам, запросам, формам, отчетам и макросам рабочей группы.





--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
RockClimber
Дата 15.1.2009, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



Да, Ф1 я не нажимал. Но, по умолчанию, учетная запись Admin идет без пароля, а я ей пароль сделал. То есть фактически получается, для админской учетной записи нет разницы, есть у нее пароль или нет. А настройки безопасности по умолчанию - "заходите кто хотите, берите, что хотите". Я, конечно, знал, что надо где-то что-то сделать, и все заработает. Но такой, ммм, беспросветно идиотский способ защиты данных... блондинка, что ли, проектировала систему безопасности???
Извините, крик души.
P. S.
Цитата
Поскольку учетные записи пользователя «Admin» совершенно одинаковы для всех экземпляров Microsoft Access,
 пароль от одной подходит ко всем. Бrаво-бrаво.
Еще раз извините...
 smile 



--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
RockClimber
Дата 16.1.2009, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



Я решительно отказываюсь понимать логику работы Access. Я не только удалил пользователя Admin из группы Admins, я перед этим создал свой файл рабочей группы, как это описано в справке. Я убрал у пользователя Admin вообще все права. Но макрос по-прежнему может качать любую инфу из базы.
Меня, видимо, разбаловало общение с Postgres  smile Там я читал справку на английском, все понимал и у меня потом все работало. Тут я читаю справку на русском, нифига не понимаю и у меня нифига не работает... Сжальтесь кто-нибудь, киньте ссылкой на какую-нибудь пошаговую инструкию по настройке...


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
FINANSIST
Дата 16.1.2009, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: 13
Всего: 23



Решал  проблему разграничения прав при доступе из Экселя в Access  
Делал следующим образом:
В связи с тем  что в базе у меня хранились логины, пароли и даты регистрации юзеров ( у тебя как я понял, тоже самое) формировал в книге лист, скрытый програмно (sheets(1).visible = xlveryhidden)  на котором и находилась связанная с Accessовской  таблица с логинами и паролями
При попытке подключения из Excel всплывала форма со списком логинов и текстбоксом для пароля, в случае соответствия введенного пароля и логина с таблицей скрытого листа форма прописывает логин в реестр клиентской машины ( для автоматического отображения логина в след раз ) ну и выполняет запрос через ADO,DAO или ещё как то...
Все отлично работало


--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
Akina
Дата 16.1.2009, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(FINANSIST @  16.1.2009,  11:06 Найти цитируемый пост)
Делал следующим образом:

Плохой вариант - любой фактически мог получить доступ к этому листу.

RockClimber, а ты закриптовал базу данных? или она так и лежит открытая?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
RockClimber
Дата 16.1.2009, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



Цитата(FINANSIST @  16.1.2009,  10:06 Найти цитируемый пост)
В связи с тем  что в базе у меня хранились логины, пароли и даты регистрации юзеров ( у тебя как я понял, тоже самое) формировал в книге лист, скрытый програмно (sheets(1).visible = xlveryhidden)  на котором и находилась связанная с Accessовской  таблица с логинами и паролями

То есть в БД пользователи и пароли хранятся не в системных таблицах, а в обычных? Не, ну так и я могу. smile Но я исхожу из предположения, что системные таблицы должны быть получше защищены. И пытаюсь работать через средства, имеющиеся для этого в системе... В любом случае, время у меня есть, буду пока изучать хелпы и форумы...


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
FINANSIST
Дата 16.1.2009, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: 13
Всего: 23



Цитата(Akina @  16.1.2009,  10:23 Найти цитируемый пост)
Плохой вариант - любой фактически мог получить доступ к этому листу.


Akina, Отличный вариант - Ну естесственно модуль должен быть защищён, как же иначе то?
user posted image

Цитата(RockClimber @  16.1.2009,  10:24 Найти цитируемый пост)
То есть в БД пользователи и пароли хранятся не в системных таблицах, а в обычных? Не, ну так и я могу.  Но я исхожу из предположения, что системные таблицы должны быть получше защищены. И пытаюсь работать через средства, имеющиеся для этого в системе... В любом случае, время у меня есть, буду пока изучать хелпы и форумы...


RockClimber, в любом случае придется учесть доступ к этим системным таблицам с логинами(паролями) защищённого модуля эксель, если ты конечно не найдёшь принципиально иной способ разграничения прав к доступу из экселя в access 
PS если найдёшь -выложи решение


--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
Akina
Дата 16.1.2009, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(FINANSIST @  16.1.2009,  12:04 Найти цитируемый пост)
естесственно модуль должен быть защищён, как же иначе то?

Да модуль - фиг бы с им... я к тому что открыть этот Эксельный файл программно и сделать лист видимым (или просто заблокировать выполнение макросов) - и пламенный привет...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
FINANSIST
Дата 16.1.2009, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: 13
Всего: 23




Akina, Если получится открыть - ответь: как получилось

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  ________.rar 6,78 Kb


--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
RockClimber
Дата 16.1.2009, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



Цитата(Akina @  16.1.2009,  10:23 Найти цитируемый пост)
RockClimber, а ты закриптовал базу данных? или она так и лежит открытая?

Я займусь этим, но позже. Сейчас я работаю над другой проблемой - как сделать так, чтобы мы использовали не Access, а Postgres... Но это проблема организационного характера.
Цитата(FINANSIST @  16.1.2009,  11:04 Найти цитируемый пост)
RockClimber, в любом случае придется учесть доступ к этим системным таблицам с логинами(паролями) защищённого модуля эксель, если ты конечно не найдёшь принципиально иной способ разграничения прав к доступу из экселя в access

Я пока плохо знаю эту сторону Access, но приведу такой пример: в Postgres я могу создать таблицу users с полями login и parol. Тогда запрос 
Код
select * from users
покажет логины и пароли в чистом виде. А вот запрос к системной таблице pg_user не проканает. На запрос
Код
select * from pg_user 
 вы получите таблицу, в которой в столбце password будут звездочки. То есть, если надо подсмотреть пароль - ищите, где он на диске физически лежит, и читайте напрямую с диска. А если учесть, что Postgres может хранить на диске не сам пароль, а его md5 хэш... Ну, короче, проще утюгом и паяльником.
К чему я это? Ну, я конечно не жду от Access такой же крутости, но хотя бы какой-то минимум должен быть (невозможность посмотреть или обойти пароль штатными средствами).
А что касается защищенного модуля Excel, я рассчитывал, что пароль будет вводить пользователь в форму, а нигде, кроме самой БД, он храниться не будет. Ну и что такая схема будет работать...


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
Akina
Дата 16.1.2009, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(RockClimber @  16.1.2009,  14:05 Найти цитируемый пост)
А если учесть, что Postgres может хранить на диске не сам пароль, а его md5 хэш... 

Ну вообще-то сам пароль вообще никогда не хранят - хранят именно сам хэш. 
Цитата(FINANSIST @  16.1.2009,  13:59 Найти цитируемый пост)
Если получится открыть - ответь: как получилось 

Во проблема...
Открываем новую книгу. В ней редактор VBA. Создаем модуль. В нем пишем:
Код

sub OpenHiddenSheets
dim w as workbook
set w = workbooks.add("Тут полное имя файла")
dim s as worksheet
for each s in w.sheets
  s.visible=true
next
end sub

Запускаем... и смотрим твой хиданутый лист.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
FINANSIST
Дата 16.1.2009, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: 13
Всего: 23



Цитата(Akina @  16.1.2009,  16:56 Найти цитируемый пост)
Во проблема...Открываем новую книгу. В ней редактор VBA. Создаем модуль. В нем пишем:

 smile вот это уже реальный косяк в безопасности!, я так даже не пытался никогда делать будучи уверенным- что данный трюк не пройдёт
Единственное - что у них в плане защиты работает - так это защита листа, буду теперь наверно шрифт таблицы скрытого листа делать нечитабельным(белым) и защищать от форматирования и вообще какого либо выделения ячеек (и програмно снимать защиту на время обновления данных)
Геморой однако...


--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
Akina
Дата 16.1.2009, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Ну не предназначен Офис для такого уровня безопасности! Реальная безопасность реализуется как минимум в клиент-серверном приложении, при условии отсутствия физического доступа к самому серверу и любого доступа к его консоли...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0575 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.