我有一個使用SQL 2005 Express的c#winform應用程序。該應用程序創建數學和閱讀測驗,並向學齡兒童的父母推銷。家長從我的網站購買並下載包含測驗的SQL文件,並將它們安裝在應用程序中(安裝在他們孩子的計算機上)。如何保護我winform的SQL 2005 Express數據庫中的數據?
我有兩個SQL安全問題:
(1)有些孩子可能不希望測驗出現在他們的計算機上,因此他們可能會嘗試(一)刪除SQL數據庫或(b)禁用應用程序通過更改數據庫中的值。
在我看來,任何擁有SQL Server Management Studio Express的人都可以輕鬆更改數據庫的內容。
因此,可以做些什麼來防止這種情況(除了向父母推薦他們不讓子女使用管理員帳戶)呢? (2)我唯一的收入是銷售測驗,所以我想保護這些數據不被複制和共享。 (a)這些文件需要從我的服務器上下載到孩子的電腦上,然後安裝(b),然後一旦安裝完畢,他們就只能住在孩子的電腦上。
在我看來,任何擁有SQL數據庫發佈嚮導的人都可以輕鬆地複製數據庫的內容。
是否有可能只允許我的應用程序訪問SQL數據庫?是否有可能限制其他人訪問它(即使使用Windows管理員帳戶的人)?
當前,我的應用程序的安裝腳本爲我的應用程序創建了一個SQL 2005 Express服務器的新實例,它使用Windows身份驗證。
我已經閱讀了Stackoverflow和其他地方的幾個SQL安全職位,但我還沒有弄清楚這一點。
感謝Chris,你和JohnFly的觀點相同,這就是說,一旦部署數據庫後,我無法真正保護數據庫。 – Frederick 2010-10-21 20:30:24