我正在创建一个API来在我的数据库中创建条目。(使用Hibernate)
我制作了映射不同表的类,并将其导出到jar (比方说jar 1)(包含类和.hbm.xml文件)。
现在,我正在创建API(包括jar1),以便最终用户可以更新我的数据库。
我已经将API导出到一个jar中(比如jar2)。
现在,终端用户必须包括jar2才能访问APIs.But,因为jar2使用jar1,所以我还必须向用户提供jar1。
当我提供数据库类文件和.hbm.xml文件时,这里是否存在安全问题(数据库)?如果有,如何避免?
我使用的是java、Hibernate 4和eclipse(IDE)
发布于 2013-06-22 21:34:35
所有“直接访问数据库”的应用程序(不仅仅是java)都存在这样的安全问题:您需要向客户端工作站提供您的数据库登录配置。没有办法解决这个问题,除非转移到三层应用程序。换句话说,如果不允许用户访问您的数据库,您就不能授予他对数据库的访问权限。
权宜之计是为每个安装(或其中一组)设置不同的数据库登录用户/密码,并微调数据库服务器安全性,使这些登录只允许您的应用程序运行所需的最低安全权限。
发布于 2013-06-22 21:43:56
当我提供数据库类文件和.hbm.xml文件时,这里是否存在安全问题(数据库)?如果有,如何避免?
是的,你给了他们这些细节,你没有其他方法来实际避免它。但同时您可以为这些用户设置权限,使其具有只读访问权限。
更重要的是,如果您的系统需要高度安全,为什么不将这些API公开为webserive。实际上,您可以公开端点,并确保只在另一个包装器中返回所需的信息。这样,您就可以避免暴露实体和映射。
https://stackoverflow.com/questions/17251277
复制相似问题