H2数据库:防止用户转储数据库内容(SCRIPT、BACKUP等)
我们在服务器模式下使用Java + H2数据库,因为我们不希望用户访问数据库文件。
admin 创建的所有数据库用户都是普通用户(不是 admin)。那些普通用户是否还有其他可能性来获取数据库内容?我尝试过 SCRIPT 和 BACKUP 命令,但失败了,因为它们需要管理员权限。太好了:)
让用户成为非管理员就足以保护用户免于转储数据库内容吗?
此外,让应用程序用户=数据库用户是一个很好的安全实践吗?以前,为了进行身份验证,我们使用数据库中的自定义“用户”表,而不是数据库用户。
谢谢。
We are using Java + H2 Database in server mode, because we do not want users from accessing database file.
All database users created by admin are regular users (not admin). Is there any other possibilities for those regular users to get the database content? I have tried SCRIPT and BACKUP command, and failed because they require admin privilege. That's nice :)
Is making users not admin is enough to protect users from dumping database content?
More, is making application user = database user, a good security practise? Previously, for authentication, we use custom 'users' table in the database, not the database user.
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不。这就是数据库用户和权限的重点,因此用户只能访问他被允许访问的数据。
是的。
是的,如果客户端应用程序可以访问数据库(通过 TCP/IP)。
这是 Web 应用程序和其他 3 层系统(用户无权访问数据库)的常见解决方案。
No. That's the point of database users and rights, so that a user can only access the data he is allowed to.
Yes.
Yes, if the client application has access to the database (over TCP/IP).
This is a common solution for web applications and other 3-tier systems (where the user doesn't have access to the database).