Bra*_*iak 4 java mysql sql sql-server jdbc
我创建了一个带有JDBC的java程序,它成功连接到我的计算机服务器的MySQL数据库,如下所示:
try
{
// The newInstance() call is a work around for some
// broken Java implementations
Class.forName("com.mysql.jdbc.Driver").newInstance();
}
catch (Exception ex)
{
// handle the error
}
try
{
conn = DriverManager.getConnection(("jdbc:mysql://191.168.1.15:3306/databasename"), "username", "password");
// Do something with the Connection
}
catch (SQLException ex)
{
// handle any errors
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
Run Code Online (Sandbox Code Playgroud)
但是,如果有人想要找出密码,那么使用任何java反编译器都会非常简单.我怎么能阻止他们找到密码或用户名呢?
当您让用户直接访问您的数据库时,您必须记住您已授予他们直接访问您的数据库的权限.你不能改变它.没有任何加密或模糊处理可以使他们有权访问您的数据库.
所以你需要考虑,你真的希望他们能够访问你的数据库吗?
如果您确实要授予数据库访问权限,请确保正确设置权限.例如,如果他们只需要读取权限,请确保您提供给他们的用户只具有读取权限.
如果您实际上并不希望它们直接访问数据库,但您希望它们可以访问数据, 那么根本不要将数据库密码放在程序中.例如,您可能希望在数据库前设置Web服务,并让用户查询Web服务.Web服务将具有数据库密码,但您的用户不会.
| 归档时间: |
|
| 查看次数: |
6952 次 |
| 最近记录: |