2016-03-21 2 views
0

Ищет решение для защиты базы данных доступа. Я хочу, чтобы пользователь мог читать и записывать его через программу vb.net, но когда пользователь переходит к местоположению базы данных в сетевой папке, они не могут взаимодействовать с ней там.Защита базы данных доступа

Я знаю, что могу защитить паролем базу данных и включить пароль в строку соединения, но с достаточным усилием пользователь сможет найти указанный пароль в файлах программы после их установки на свой компьютер?

Заранее спасибо.

+1

очень мало вы можете сделать - вы могли бы установить ODBC DSN и поставить PW там, но это перемещает проблему в другом месте. это доступ - это файловая база данных, и вы не можете ее защитить. –

+0

Пользователь технически достаточно разбирается, чтобы декомпилировать вашу программу? Если это так, то в лучшем случае вы можете запутать источник и построить некоторое шифрование/дешифрование пароля, чтобы сделать его гораздо сложнее отслеживать. Это то, что я делаю ... уверен, что кто-то с набором навыков может получить мой код, но важные части - тарабарщина, и очень сложно сказать, что происходит. –

+0

Какая версия доступа? – Plutonix

ответ

0

Попробуйте это, возможно, это не сработает, но стоит попробовать, прежде чем настраивать что-то новое, я думал, так как вы упомянули, что файл находится в сети, почему бы не пытаться и не шифровать файл каждый раз, когда программа закрывается? таким образом, если другой пользователь должен был найти его в сети на другом компьютере, он не сможет получить к нему доступ.

Private Sub Form1_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing 
    Dim FileLocation As String = "C:\Users\" & Environment.UserName & "\Documents\Database1.accdb" 
    IO.File.Encrypt(FileLocation) 
End Sub 

Если вы хотите расшифровать файл, просто замените шифрование расшифровкой. Также добавьте пароль из доступа, как указано выше. Это все, что вы можете сделать, я верю, дайте нам знать, как вы справляетесь.

1

Как уже упоминалось, Marc B, вы можете добавить некоторые перегибы и все. Это будет только шишки, а не настоящая безопасность.

Простым и эффективным решением является перенос данных на сервер базы данных на базе сервера с реальной безопасностью. Поскольку вы используете VB.NET, естественным выбором будет бесплатный SQL Server 2014 Express.

+0

Да. SQL Server Express поставляется с вашей копией Visual Studio. –