-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Защита базы от взлома, защита связанных таблиц

Среда, 11 Января 2017 г. 14:38 + в цитатник
Друзья! Хочу поделиться, как защитить базу от взлома:
1. Все таблицы связываются с SQL Server без использования DNS, а таблицы хранятся на сервере SSSSS база DDDDD, где создается универсальный пользователь UUUUU с паролем PPPPPP.
Пользователям дается скомпилированный файл MDE с установленной защитой от SHIFT со снятой опцией использовать специальные клавиши Access и без просмотра области навигации, без набора меню Access и контекстных меню (задается в параметрах текущей базы).

В форме, открывающейся при открытии базы (Форма просмотра) в событии Form_Open вызвать процедуру QM:

Public Const ConStr$ = "ODBC;DRIVER={SQL Server};SERVER=SSSSS;DATABASE=DDDDD;UID=UUUUU;PWD=PPPPPP;APP=Microsoft Office 2013"
Sub QM()
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

Таблицы подключаются кодом:
Dim tdf As DAO.TableDef
Set tdf = CurrentDb.CreateTableDef(rst!Таблица, dbAttachExclusive, rst!Исходная, ConStr)
CurrentDb.TableDefs.Append tdf

Обратите внимание, что если используете dbAttachExclusive, то логин и пароль в свойство connect НЕ ПОПАДАЕТ! (Если нужна связь с паролем, используйте dbAttachSavePWD)
Таким образом, пароль хранится только в скомпилированном коде, не доступным для просмотра даже соотв. редактором.
У конечного файла MDE устанавливается свойство AllowBypassKey= False, т.е. игнорирование SHIFT при открытии. База создается с защитой от редактирования с учетной записью файла MDW, но даже если забыли поставить защиту, и такую базу открыли с SHIFT, то связи не будут активизированы инструкцией RunSQL.

http://www.sql.ru/forum/1245580/zashhita-bazy-ot-vzloma-zashhita-svyazannyh-tablic


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку