У меня есть приложение winform C#, которое использует SQL 2005 Express. Приложение создает математику и читает викторины и продается родителям детей школьного возраста. Родители покупают и загружают файлы SQL, содержащие викторины с моего сайта, и устанавливают их в приложении (которое установлено на компьютере своего ребенка).Как защитить данные в базе данных SQL Server Express Winform?
У меня есть две проблемы безопасности SQL:
(1) Некоторые дети могут не захотеть викторины появляться на своем компьютере, так что они могут попытаться (а) удалить базу данных SQL или (б) отключить приложение путем изменения значений в базе данных.
Мне кажется, что любой, у кого есть SQL Server Management Studio Express, может легко изменить содержимое базы данных.
Таким образом, что можно сделать для предотвращения этого (кроме рекомендации родителям, чтобы дети не позволяли своим детям использовать учетную запись администратора)?
(2) Мой единственный доход будет продавать викторины, поэтому я хочу защитить эти данные от копирования и совместного использования. Как я могу это сделать (а), что файлы необходимо загрузить с моего сервера на компьютер ребенка, а затем установить и (б), а затем после установки они просто находятся на компьютере ребенка.
Мне кажется, что любой, у кого есть мастер SQL Database Publishing Wizard, может легко скопировать содержимое базы данных.
Возможно ли разрешить моему приложению доступ к базе данных SQL? Можно ли ограничить доступ всех остальных к нему (даже люди, использующие учетные записи администратора Windows)?
В настоящее время сценарий установки для моего приложения создает новый экземпляр сервера SQL 2005 Express только для моего приложения и использует проверку подлинности Windows.
Я прочитал несколько сообщений безопасности SQL здесь, в Stackoverflow и в других местах, но я пока не могу это понять.
Спасибо, Крис, вы и Джон Фли делаете ту же самую точку, которая заключается в том, что я не могу защитить свою базу данных после ее развертывания. – Frederick