SQL 2005 Expressを使用するac#winformアプリケーションがあります。このアプリケーションは、数学と読書のクイズを作成し、学齢期の子供の親に販売されています。両親は私のウェブサイトからクイズを含むSQLファイルを購入してダウンロードし、それらをアプリケーション(子供のコンピューターにインストールされている)にインストールします。
SQLのセキュリティに関する懸念が2つあります。
(1)一部の子供は、クイズを自分のコンピューターに表示したくない場合があるため、(a)SQLデータベースを削除するか、(b)データベースの値を変更してアプリケーションを無効にしようとする場合があります。
SQL Server Management Studio Expressを使用している人なら誰でも、データベースの内容を簡単に変更できるように思えます。
したがって、これを防ぐために何ができるでしょうか(子供に管理者アカウントを使用させないように親に勧める以外に)?
(2)私の収入はクイズの販売だけなので、このデータがコピーされたり共有されたりしないように保護したいと思います。(a)ファイルをサーバーから子のコンピューターにダウンロードしてからインストールする必要があり、(b)インストールすると、ファイルは子のコンピューターに常駐するだけである場合、これを行うにはどうすればよいですか。
SQL Database Publishing Wizardを使用している人なら誰でも、データベースの内容を簡単にコピーできるように思えます。
アプリケーションにSQLデータベースへのアクセスのみを許可することは可能ですか?他のすべてのユーザー(Windows管理者アカウントを使用しているユーザーも含む)のアクセスを制限することはできますか?
現在、私のアプリケーションのインストールスクリプトは、私のアプリケーション専用のSQL 2005 Expressサーバーの新しいインスタンスを作成し、Windows認証を使用します。
Stackoverflowやその他の場所でSQLセキュリティに関する投稿をいくつか読んだことがありますが、まだ理解できていません。