#c# #.net
#c# #.net
Вопрос:
Я начал создавать свое собственное приложение на c #, используя Microsoft Access в качестве базы данных. Проблема в том, что после того, как я создал свой exe-файл с помощью этого программного обеспечения, которое я нашел в Интернете, при установке база данных всегда доступна на диске c. Должен ли я вместо этого использовать другие базы данных? просветите меня, пожалуйста.
Комментарии:
1. Добро пожаловать в SO. Что вы подразумеваете под видимостью, и почему это имеет значение?
2. Какова природа данных в базе данных?
3. Если база данных доступна на диске c, создание программного обеспечения становится бессмысленным, потому что кто-то может просто манипулировать данными внутри него вместо использования самого программного обеспечения. Есть ли способ скрыть базу данных?
4. Что бы вы ни пытались, если база данных локальная, есть способ получить к ней доступ. Если это такие сверхкритичные / конфиденциальные данные, пересмотрите свою концепцию.
5. @Jezer Мы не знаем, какой тип решения вы пишете, но идея в том, что даже с защитой паролем вашей базы данных access это довольно бесполезно и легко поддается взлому. Ваш единственный вариант локальной безопасности — это шифрование, и это приводит к значительному снижению производительности, потому что вы будете выполнять шифрование и дешифрование при чтении и записи.
Ответ №1:
У вас есть несколько вариантов:
- Поместите базу данных в труднодоступное место, например
AppData
- Используйте функции пароля / шифрования Access; ограничен и может быть взломан
- Зашифруйте данные в базе данных, которая имеет ограничения, упомянутые @HMZ
- Используйте онлайн-базу данных
Вы можете либо затруднить поиск данных и доступ к ним, либо, если вам нужна полностью защищенная база данных, использовать шифрование или онлайн-базу данных. При использовании онлайн-базы данных вам потребуется разместить ее и, вероятно, обеспечить многопользовательский доступ.
Вам нужно понимать риски каждого решения и принимать соответствующие решения.
Ответ №2:
Если ваше программное обеспечение представляет собой WinForm / WPF или любую программу, созданную на языке программирования, таком как C #, то база данных не обязательно должна находиться на C
диске, потому что это язык программирования, который управляет подключением к базе данных access (обычно: Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<your .accdb file location>
, а также вы можете использовать пароль для нее, чтобы скрыть ее, вы можете переименовать .accdb
в .dll
, тогда никто не узнает, что это база данных access, также вы можете добавить пароль)