我們需要在使用MySql 5.0的客戶端部署應用程序(由Java開發)WAR文件。但是我們想限制客戶端(應用程序所有者,而不是網頁訪問者)修改數據庫中的任何數據。有什麼辦法保護數據。客戶端可以使用該應用程序,但他們不應該能夠更改數據庫中的任何值。怎麼做?如何限制用戶修改mysql數據庫中的數據?
回答
這是不可能的;如果您在客戶端部署應用程序,他將擁有憑據,並且將能夠登錄到MySQL數據庫,並且他是應用程序。因此他可以對應用程序可以進行的任何數據庫更改。
解決這個問題的唯一方法就是在客戶端和你的MySQL數據庫之間建立一個層,並確保你控制這個,這樣它纔可能做出'合法'的改變。
管理角色/用戶權限
創建SQL用戶(你應該已經有一個),這將有隻選擇許可。因此,它會像
GRANT SELECT ON db_base.* TO [email protected]'localhost' IDENTIFIED BY 'db_passwd';
http://kb.mediatemple.net/questions/788/HOWTO:+GRANT+privileges+in+MySQL
http://blog.wl0.org/2010/01/managing-mysql-grants/
http://www.ntchosting.com/mysql/grant.html
檢查下面進一步閱讀
爲MySQL
0123鏈接Best Practice for Designing User Roles and Permission System?
http://www.devshed.com/c/a/MySQL/MySQL-User-Account-Management/
Can't set permissions on MySQL user
http://www.aquafold.com/d7/docs/BD5C99E4-3B55-C812-8318-6338A9A89ED9.html
爲SQL Server。
http://www.mssqlcity.com/Articles/Adm/SQL70Roles.htm
http://www.sql-server-performance.com/articles/dba/object_permission_scripts_p1.aspx
https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-1061781.html
只需編寫相應的代碼,使用戶不會有任何機會來修改數據庫?即該代碼不會執行任何INSERT
或UPDATE
和/或基於登錄/角色控制訪問。
老實說,我真的不希望這裏的任何問題,或者代碼必須傾向於SQL injectionattacks。
更新:上面的答案實際上是無關的,因爲問題是澄清的。轉入社區Wiki。
- 1. 如何修改數據庫的用戶權限?
- 2. 如何改變/修改MySQL數據庫用戶
- 3. 如何限制Firebase數據修改?
- 4. MySQL數據庫插入數據限制
- 5. 如何修改android中的數據庫
- 6. 如何限制MySQL數據庫中的行項目數量
- 7. PyQt4 QTableWidget - 過濾和修改mySQL數據庫中的數據
- 8. mysql數字數據庫限制
- 9. 如何修改值數據庫中
- 10. 修改數據庫
- 11. 修改數據庫
- 12. 限制數據庫用戶priviliges
- 13. 在mysql數據庫中,如何從csv文件上載修改後的數據
- 14. 如何通過python修改mysql數據庫中存在的列?
- 15. MySQL:如何將數據庫中的數據(表)從不同的用戶複製到另一個數據庫中
- 16. 如何使用特定的限制數據顯示數據庫中的數據?
- 17. 在更改數據庫的mysql中是否有限制?
- 18. MySQL的:修剪數據庫
- 19. MySQL轉儲限制? MySQL的整體數據庫大小限制?
- 20. 修改mysql數據庫用戶輸入日期和時間
- 21. 如何限制MYSQL數據庫連接的數量?
- 22. 如何更改MYSQL PHP中所選數據的限制?
- 23. 如何導出MySQL數據庫用戶?
- 24. 使用PHP訪問MySQL數據庫中的某些數據的用戶權限?
- 25. Mysql數據庫名稱限制
- 26. MySql數據庫有一些限制嗎?
- 27. MySQL服務器數據庫限制
- 28. 限制acces用戶和從數據庫加載數據
- 29. 如何填充新的和修改MySQL數據庫與舊數據
- 30. 如何通過用戶界面修改數據庫值?
@BalusC:感謝編輯並使其理解:) – Paul 2010-06-01 04:34:09