Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.80/65: Рейтинг темы: голосов - 65, средняя оценка - 4.80
yulianna2501
25 / 27 / 0
Регистрация: 28.01.2011
Сообщений: 530
1

Защита бд от копирования

26.03.2011, 10:18. Просмотров 11813. Ответов 46
Метки нет (Все метки)

Как можно это сделать??а так же чтоб юзер не смог просмотреть ни таблицы ни запросы (не применяя возможности кнопки "параметры акса" т.к. юзер сможет их изменить)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2011, 10:18
Ответы с готовыми решениями:

Защита от копирования данных с Формы
Как сделать защиту от копирования данных (полей) в Форме

Защита базы от копирования и распространения
Добрый день всем. Клиент поставил вопрос о возможности "защиты базы от...

Защита от копирования
Как защитить свой сайт от любого копирования? ЧТобы даже через проводник DOM не...

Защита от копирования
Уважаемые форумчане,помогите пожалуйста написать защиту от копирования,например...

Защита от копирования
Здравствуйте Уважаемые! Помогите пожалуйста, как можно поставить защиту от...

46
Agapov_stas
3339 / 1742 / 82
Регистрация: 05.08.2010
Сообщений: 4,447
Завершенные тесты: 1
26.03.2011, 10:48 2
Защита бд от копирования...
Привязка к серийному номер(допустим HDD, или BIOS)
а так же чтоб юзер не смог просмотреть ни таблицы ни запросы (не применяя возможности кнопки "параметры акса" т.к. юзер сможет их изменить)
Вот пример..
0
Вложения
Тип файла: rar db1.rar (15.4 Кб, 520 просмотров)
Patch
2336 / 492 / 22
Регистрация: 01.04.2009
Сообщений: 2,181
26.03.2011, 13:30 3
yulianna2501, прочтите в разделе "Важно", тему Защита данных в файлах mdb
0
yulianna2501
25 / 27 / 0
Регистрация: 28.01.2011
Сообщений: 530
27.03.2011, 22:04  [ТС] 4
читала вообще-то.там не то что мне нужно
0
Patch
2336 / 492 / 22
Регистрация: 01.04.2009
Сообщений: 2,181
28.03.2011, 00:00 5
Цитата Сообщение от yulianna2501 Посмотреть сообщение
читала вообще-то.там не то что мне нужно
тогда опишите то, что вам нужно.
я дал ссылку на тему, где написано то, что вы хотели получить в топике.
какой задали вопрос, на тот и получили ответ.
0
Елена
2441 / 790 / 24
Регистрация: 18.08.2009
Сообщений: 1,697
28.03.2011, 06:17 6
yulianna2501, для того, чтобы пользователь не мог посмотреть таблицы и запросы, настройте параметры акцесса, например на вкладке параметров Текущая база данных убрать галочку Область переходов (Акцесс 2007). Можно также отключить возможность пользоваться клвишей Shift. Для этого задаем макрос с именем AutoKeys в нем прописываем по нажатию на сочетание двух кнопок вызов формы для подключения-отключения параметров акцесса. Я создала форму, кинула на нее поле для ввода пароля и кнопку Пуск. По событию нажать кнопку вызываю функцию BazyShift
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Кнопка3_Click()
 
On Error GoTo Err_
    If IsNull(Me.Поле0) Then
        MsgBox "Нет данных!"
        Me.Поле0.SetFocus
    Else
        Password = Me.Поле0
        Call BazyShift
    End If
Err_:
    Exit Sub
End Sub
сама функция
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Function BazyShift()
On Error GoTo Change_Err
Dim dbs As Database, prp As Property
Const conPropNotFoundError = 3270
    Set dbs = CurrentDb
    If Password = "Ваш пароль" Then
        If dbs.Properties("AllowBypassKey") = True Then
             dbs.Properties("AllowBypassKey") = False
        Else
            dbs.Properties("AllowBypassKey") = True
            
        End If
    End If
Change_Bye:
    DoCmd.Close acForm, "Form2"
    DoCmd.Quit acPrompt
    Exit Function
Change_Err:
    If Err = conPropNotFoundError Then
        Set prp = dbs.CreateProperty("AllowBypassKey", dbBoolean, False)
        dbs.Properties.Append prp
        Resume Next
    Else
        Resume Change_Bye
    End If
End Function
Работает это таким образом: при первом вызове формы и вводе пароля база закрывается и меняет свои настройки (скрывает область преходов), при втором вызове формы и вводе пароля база закрывается и открывается с показом области переходов. Только не забудьте в параметрах Акцесса убрать на вкладке Текущая база данных Данные в окне Форма просмотра. В этом случае вывод заставки при открытии базы надо задать макросом с именем AutoExec
0
stefanovskaya
1 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 14
30.05.2011, 03:05 7
Цитата Сообщение от Agapov_stas Посмотреть сообщение
Привязка к серийному номер(допустим HDD, или BIOS)

Вот пример..
такой вопрос по этому примеру применительно к конкретной БД. Есть БД с формами и таблицами, создаем дополнительную форму, где размещаем эти три кнопки. А как реализовать связь остальных форм и кнопки СнятьЗащиту?
0
Agapov_stas
3339 / 1742 / 82
Регистрация: 05.08.2010
Сообщений: 4,447
Завершенные тесты: 1
30.05.2011, 07:57 8
Цитата Сообщение от stefanovskaya Посмотреть сообщение
применительно к конкретной БД. Есть БД с формами и таблицами,
И где она?
Можно,конечно,и на пальцах показать,но думаю,не лучший вариант.

А как реализовать связь остальных форм
На загрузку какой либо формы делаете проверку.Если простой юзверь,то свои права..ну и т.д.(все примитивно)
и кнопки СнятьЗащиту?
А что тут не понятного?
там две строчки кода...
Я,например,сделал по нажатию F4 появляется кнопка админа.
Visual Basic
1
2
3
4
5
6
7
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    
If KeyCode = vbKeyF4 Then
   Me.btnAdmin.Visible = True
End If
 
End Sub
А на нажатие самой кнопки убираю защиту от Shift.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub btnAdmin_Click()
On Error Resume Next                                   'выключаем обработку ошибок
Const TRUERASSWORD = "ТутВашПароль"
If TRUERASSWORD <> InputBox("Введите пароль") Then
MsgBox "Неверный пароль! У Вас нет прав доступа!!!"
Exit Sub
Else
DBS.Properties("AllowBypassKey") = True
DoCmd.Close
DoCmd.OpenForm ("Main")
End If
End Sub
Чтоб поставить защиту от Shift на загрузку стартовой формы добавьте строчку:
Visual Basic
1
DBS.Properties("AllowBypassKey") = False
2
stefanovskaya
1 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 14
30.05.2011, 17:57 9
[QUOTE=Agapov_stas;1704184]И где она?
Можно,конечно,и на пальцах показать,но думаю,не лучший вариант.


вот моя БД. Форма Main реализует защиту
0
Вложения
Тип файла: rar ААА.rar (82.3 Кб, 347 просмотров)
Agapov_stas
3339 / 1742 / 82
Регистрация: 05.08.2010
Сообщений: 4,447
Завершенные тесты: 1
30.05.2011, 18:05 10
вот моя БД.
Пора переходить на седьмой акс...
А можете выложить в формате 2003?
0
stefanovskaya
1 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 14
31.05.2011, 01:15 11
Цитата Сообщение от Agapov_stas Посмотреть сообщение
Пора переходить на седьмой акс...
А можете выложить в формате 2003?
не вопрос
0
Вложения
Тип файла: rar ААА.rar (80.2 Кб, 65 просмотров)
stefanovskaya
1 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 14
31.05.2011, 10:52 12
как снять защиту?
0
Agapov_stas
3339 / 1742 / 82
Регистрация: 05.08.2010
Сообщений: 4,447
Завершенные тесты: 1
31.05.2011, 12:34 13
Лучший ответ Сообщение было отмечено как решение

Решение

Простите, не всегда есть время..
Вот на Вашем примере.
Все пароли - 123
В VBA старался коментировать,что делается.Так что почитаете.
При старте формы, если нажмете F4 появится кнопка "снять защиту"
Если нажмете F5, то снова будет скрытой.

Чтоб снять защиту:
1.Открыть базу
2.Нажать F4, появится кнопка "снять защиту".Нажать ее.
3.Нажать Выход
Открыть базу уже с зажатым Shift.

Так же сразу сделал скрытую форму "FrmInvisible", в которой хрантися два значения: Статус и имя пользователя.
Ее можно использовать, когда необходимо будет скрывать контролы на формах или же отображать текущего пользователя...ну в этом плане че-то..
3
Вложения
Тип файла: rar ААА.rar (90.9 Кб, 135 просмотров)
stefanovskaya
1 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 14
31.05.2011, 12:59 14
Цитата Сообщение от Agapov_stas Посмотреть сообщение
Простите, не всегда есть время..
Вот на Вашем примере.
Все пароли - 123
В VBA старался коментировать,что делается.Так что почитаете.
При старте формы, если нажмете F4 появится кнопка "снять защиту"
Если нажмете F5, то снова будет скрытой.

Чтоб снять защиту:
1.Открыть базу
2.Нажать F4, появится кнопка "снять защиту".Нажать ее.
3.Нажать Выход
Открыть базу уже с зажатым Shift.

Так же сразу сделал скрытую форму "FrmInvisible", в которой хрантися два значения: Статус и имя пользователя.
Ее можно использовать, когда необходимо будет скрывать контролы на формах или же отображать текущего пользователя...ну в этом плане че-то..
простите, но я что не как не могу разобраться
открываю БД, запускаю форму "Main" (в итоге предполагается сделать ее стартовой). На форме уже есть кнопка "Снять защиту" , нажимаю F4, потом нажимаю на кнопку "Снять защиту" аксесс выводит ошибку:
Run time error '3270'
Свойство не найдено


Private Sub Кнопка1_Click()
Dim dbs As Database
Set dbs = CurrentDb
dbs.Properties("AllowBypassKey") = True <----- и ругается на эту строчку
End Sub
0
Agapov_stas
3339 / 1742 / 82
Регистрация: 05.08.2010
Сообщений: 4,447
Завершенные тесты: 1
31.05.2011, 13:07 15
Цитата Сообщение от stefanovskaya Посмотреть сообщение
открываю БД, запускаю форму "Main"

А Вы просто без Sift пока откройте БД.
Там открывается FrmStart(тУт и надо нажимать F4).Вносишь пароль и пользователя(из списка).
И потом уже открывается Ваша форма.

Добавлено через 45 секунд
Цитата Сообщение от stefanovskaya Посмотреть сообщение
dbs.Properties("AllowBypassKey") = True <----- и ругается на эту строчку
Естественно..Акс не распознает данное свойство.Я тоже пробовал и выдавало ошибку.
0
stefanovskaya
1 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 14
31.05.2011, 13:16 16
я видимо чего то не понимаю открываю свою БД без Shift. Нажимаю F4 - ничего не происходит. Подскажите, куда пароль вносить и где выбрать пользователя?

Цитата Сообщение от Agapov_stas Посмотреть сообщение
Естественно..Акс не распознает данное свойство.Я тоже пробовал и выдавало ошибку
т.е это вообще моно удалить?
0
Agapov_stas
3339 / 1742 / 82
Регистрация: 05.08.2010
Сообщений: 4,447
Завершенные тесты: 1
31.05.2011, 14:06 17
Цитата Сообщение от stefanovskaya Посмотреть сообщение
открываю свою БД без Shift. Нажимаю F4 - ничего не происходит.
Форма для ввода пароля пароля открывается?Попробуйте кликнуть по полю,где пароль вносится и нажмите F4.
т.е это вообще моно удалить?
Да. В приложенным мною примере есть модуль.
0
stefanovskaya
1 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 14
31.05.2011, 14:23 18
Цитата Сообщение от Agapov_stas Посмотреть сообщение
Форма для ввода пароля пароля открывается?Попробуйте кликнуть по полю,где пароль вносится и нажмите F4.
открылось. Но все равно не поняла как снять защиту. И еще такой вопрос: в чем различие между этими пользователями они в итоге все равно открывают одну форму?
0
Agapov_stas
3339 / 1742 / 82
Регистрация: 05.08.2010
Сообщений: 4,447
Завершенные тесты: 1
31.05.2011, 14:48 19
Но все равно не поняла как снять защиту.
Откройте БД.
Кликните по полю пароль.
Нажмите F4
Нажмите на появившуюся кнопку "снять защиту"
Выйти из программы.
Зайти уже с зажатым шифтом.
Не по теме:
Я чувствую себя магнитофоном.


в чем различие между этими пользователями они в итоге все равно открывают одну форму?
Так же сразу сделал скрытую форму "FrmInvisible", в которой хрантися два значения: Статус и имя пользователя.
Ее можно использовать, когда необходимо будет скрывать контролы на формах или же отображать текущего пользователя...ну в этом плане че-то..
Добавлено через 15 минут
Если желаете,чтоб открывались разные формы,в зависимости от того,кто вошел,админ или простой юзер.То допишите так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub btnEnter_Click()
If Me.plStatus = "Admin" And Me.plPassword = Me.plTruePassword Then
DoCmd.Close
DoCmd.OpenForm "ФормаДляАдмина"
ElseIf Me.Status = "User" And Me.plPassword = Me.plTruePassword Then
DoCmd.Close
DoCmd.OpenForm "ФормаДляПростогоЮзера"
Else
MsgBox "Введите корректные имя пользователя и пароль"
End If
End Sub
0
Волшебник
52 / 52 / 1
Регистрация: 30.04.2010
Сообщений: 133
31.05.2011, 15:14 20
Всё что вы там лепите никуда не годится

Вот очень хороший сайт
http://hiprog.com/

Это ссылка на утилиту Установки и снятия защиты Шифта
http://hiprog.com/index.php?option=c...1574&Itemid=35

Чем она Хороша?
Тем что имеется возможность установить защиту с паролем
вводишь кодовое слово и всё
Снять можно только если тебе известен пароль

Это ссылка как раз по теме

Шифрование данных в таблице алгоритмом Blowfish
http://hiprog.com/index.php?option=c...d=30&Itemid=70

Данные в таблице хранятся в зашифрованном виде,
Так что копирование базы и Импорт таблиц тут уже бесмысленен
0
31.05.2011, 15:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2011, 15:14

Защита от копирования
День добрый. Очень понравился слайдер в виде карусели:...

Защита от копирования.
Здравствуйте, я раньше никогда не сталкивался с 1С. В общем полный чайник в...

Защита от копирования
Добрый день, кто-нибудь реализовывал &quot;защиту от копирования&quot; вэб приложения?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru