|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
Друзья! Хочу поделиться, как защитить базу от взлома: 1. Все таблицы связываются с SQL Server без использования DNS, а таблицы хранятся на сервере SSSSS база DDDDD, где создается универсальный пользователь UUUUU с паролем PPPPPP. Пользователям дается скомпилированный файл MDE с установленной защитой от SHIFT со снятой опцией использовать специальные клавиши Access и без просмотра области навигации, без набора меню Access и контекстных меню (задается в параметрах текущей базы). В форме, открывающейся при открытии базы (Форма просмотра) в событии Form_Open вызвать процедуру QM: Код: plaintext 1.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Таблицы подключаются кодом: Код: plaintext 1. 2.
Обратите внимание, что если используете dbAttachExclusive, то логин и пароль в свойство connect НЕ ПОПАДАЕТ ! (Если нужна связь с паролем, используйте dbAttachSavePWD) Таким образом, пароль хранится только в скомпилированном коде, не доступным для просмотра даже соотв. редактором. У конечного файла MDE устанавливается свойство AllowBypassKey= False, т.е. игнорирование SHIFT при открытии. База создается с защитой от редактирования с учетной записью файла MDW, но даже если забыли поставить защиту, и такую базу открыли с SHIFT, то связи не будут активизированы инструкцией RunSQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2017, 14:38 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
PaulB Код: vbnet 1.
Эта константа не попадает случайно в модуль в открытом виде? PaulB Код: vbnet 1.
Ну а если так? Код: vbnet 1.
Удали вторую звёздочку. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2017, 15:25 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
Константа действительно попадает, логин и пароль виден редактором! Буду скрывать в коде. Согласен, вторую звездочку лучше удалить. Спасибо за подсказку! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2017, 16:22 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
PaulB , попробуйте файл БД с формате MDB переименовать с присвоением ему расширения MDE. И возрадуйтесь... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2017, 16:41 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
Пользователи получают только файлы MDE, созданные под учетной записью MDW. Переделал, тогда строку в коде не видно: Public ConStr$ Sub QM() ConStr = "ODBC;DRIVER={SQL Server};SERVER=SSSSS;DATABASE=DDDDD;UID=UUUUU;PWD=PPPPPP;APP=Microsoft Office 2013" If CurrentDb.Properties("AllowBypassKey") = False Then DoCmd.SetWarnings False DoCmd.RunSQL "UPDATE [" & ConStr & "].ТаблицаНаСервере SET Код=-1 WHERE Код=-1;" DoCmd.SetWarnings True Else If CurrentProject.Name Like "*.mde*" Then MsgBox "База не защищена", vbCritical End If End If End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2017, 16:57 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
PaulBПеределал, тогда строку в коде не видноИ тем не менее я бы рекомендовал написать некий код, который создаёт эту строку. Ну типа: Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2017, 19:31 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
Уважаемый PaulB Вы можете указать цель защиты Вашей БД и/или "рабочего места" (будь то разделенная база по файл-сервер схеме или клиент работает с БД по ODBC, HTPP протоколу, например ??) В чем цель? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2017, 22:50 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
Уважаемый Владимир! Цель: защита данных от несанкционированного изменения и от кражи. Таким образом, невозможно открыть базу с SHIFT, т.к. нельзя снять свойство AllowBypassKey, потому что база создана под учетной записью mdw, и что бы изменить ее свойства, нужно иметь mdw файл, знать логин и пароль администратора. Далее запускается главная форма, которая активирует связанные таблицы инструкцией RunSQL. Доступ к данным определяется логикой приложения. Пользователь определяется: VBA.Environ("USERDOMAIN") & "/" & VBA.Environ("USERNAME"). При открытии любой формы проверяется права этого пользователя. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2017, 11:50 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
Обратите внимание, что для этого не нужно создавать DSN соединения инструкцией RegisterDatabase ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2017, 11:52 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
Честно говоря не совсем понял, зачем всё это. Встроенной системы защиты SQL Servera недостаточно? Насколько я знаю, там есть две системы авторизации Windows и собственная SQL Server. У ТС как я понял, клиент-серверная версия базы. Таблицы на сервере, а "морда" на Access. А где расположен сам SQL Server? На машине пользователя или на сервере? Когда я писал связку Access + SQL Server для организации. я пользовался Windows авторизацию. Т.е. ты входишь в систему, а вход SQL происходит автоматически. Чем это не устраивает Вас? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2017, 12:13 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
Да, я работал с ADP. Может с подключением таблиц иначе? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2017, 12:14 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
Конечно, база хранится на SQL сервере. Но авторизация на сервере не разделяет доступ к записям внутри таблицы. Таким образом, пользователь, если сможет открыть таблицу, то может делать с ней что захочет. Поэтому необходимо логическое разделение доступа. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2017, 13:04 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
PaulBЦель: защита данных от несанкционированного изменения и от кражи. Таким образом, невозможно открыть базу с SHIFT, т.к. нельзя снять свойство AllowBypassKey, потому что база создана под учетной записью mdw, и что бы изменить ее свойства, нужно иметь mdw файл, знать логин и пароль администратора.Тот, кто спёр базу, сопрёт и файл рабочей группы. Имея файл рабочей группы, оттрассировать сетевой доступ и получить информацию для подключения к серверу не составит труда. PaulBПользователь определяется: VBA.Environ("USERDOMAIN") & "/" & VBA.Environ("USERNAME").Подменяется одним щелчком пальцев. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2017, 13:07 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
Файл рабочей группы MDW используется только для редактирования оригинала mdb. Пользователи не имеют к нему доступа, поэтому украсть не смогут. На другом компьютере невозможно подключиться к SQL серверу. А рабочие станции защищены. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2017, 13:19 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
PaulBНа другом компьютере невозможно подключиться к SQL серверу.Это ещё почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2017, 13:26 |
|
Защита базы от взлома, защита связанных таблиц
|
|||
---|---|---|---|
#18+
PaulB <<< Уважаемый Владимир! Цель: защита данных от несанкционированного изменения и от кражи. Таким образом, невозможно открыть базу с SHIFT, т.к. нельзя снять свойство AllowBypassKey, потому что база создана под учетной записью mdw, и что бы изменить ее свойства, нужно иметь mdw файл, знать логин и пароль администратора. Далее запускается главная форма, которая активирует связанные таблицы инструкцией RunSQL. Доступ к данным определяется логикой приложения. Пользователь определяется: VBA.Environ("USERDOMAIN") & "/" & VBA.Environ("USERNAME"). При открытии любой формы проверяется права этого пользователя. >>> 1. При загрузке приложения я определяю изменения как в коде, так и в структуре БД. 2. Если выполненные юзером изменения укладываются в изменения дозволенные и описанные в Программной документации (Руководство Пользователя, Руководство Админстратора, Руководство Программиста), такие изменения принимаются на ст оронре клиента. 3. Если выполненные юзером изменения не укладываются в совокупность Правил изменения Приложения, юзеру (админу, программеру) выводится соответствующее сообщение, однозначно указывающее на ошибки в оговоренных Правилах использования Приложения. Да, это не так просто, однако, вызывает уважение к Программному Продукту. 4. В настоящее время, "защита от шифт" себя издержала. Если Вам очень необходима такая защита.... Пересмотрите идеологию защиты Вашего продукта. Как я защищаю свои приложения: 1. Передаю Заказчику полностью весь исходный код (удивитесь ??? ). В Договоре на разработку оговариваю стоимость Технического Задания (если Приложение достаточнро серьёзное), 2. Обеспечиваю Заказчику мою (от разработчика) техническую поддержку (онлайн поддержка). 3. Выдаю любые консультации Заказчику, возникшие в течении эксплуатации готового Продукта. Начиная от первичной устаовки (инсталляции) до апдейтов... А шо Вы хотели? Заказчик есть Бог... ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2017, 21:49 |
|
|
start [/forum/topic.php?fid=45&msg=39386020&tid=1612701]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 146ms |
0 / 0 |