Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Swing窗口应用程序有多安全_Java_Mysql_Swing_Security - Fatal编程技术网

Java Swing窗口应用程序有多安全

Java Swing窗口应用程序有多安全,java,mysql,swing,security,Java,Mysql,Swing,Security,我使用Swing制作了一个Java应用程序。我总共用了12个班,10个表格和一个主班。所有这些都打包在一个罐子里,里面有所有必要的库和资源。jar是一个可执行文件,工作正常,没有任何问题 问题在于它是一个与数据库相关的分布式应用程序。 我使用了许多Connection对象来连接mysql。 连接是公开的。如果黑客或攻击者将我的jar导入到他自己的项目中 试着找到那个连接的克隆他能入侵数据库吗? 如果是,解决方案是什么?如果不是,为什么他不能?这取决于jar中到底有什么以及您如何连接到数据库 只包

我使用Swing制作了一个Java应用程序。我总共用了12个班,10个表格和一个主班。所有这些都打包在一个罐子里,里面有所有必要的库和资源。jar是一个可执行文件,工作正常,没有任何问题

问题在于它是一个与数据库相关的分布式应用程序。 我使用了许多
Connection
对象来连接mysql。 连接是公开的。如果黑客或攻击者将我的jar导入到他自己的项目中 试着找到那个连接的克隆他能入侵数据库吗?
如果是,解决方案是什么?如果不是,为什么他不能?

这取决于jar中到底有什么以及您如何连接到数据库

只包含类文件的jar文件可以很容易地进行反向工程。这会让黑客看到大量您编写的代码,尤其是URL和SQL字符串之类的内容。你可以尝试变得非常聪明并建立起关系,但是你可能必须比黑客聪明两倍才能对他隐瞒事情

因此,与其试图让jar不受黑客攻击,不如保护您的数据库。公共连接不应该有很多特权,管理员帐户不应该远程访问以获得最大的安全性。要保护您的数据库,可能还需要做更多的事情,但我不是DBA


祝你好运。

这取决于罐子里到底有什么,以及你是如何连接到数据库的

只包含类文件的jar文件可以很容易地进行反向工程。这会让黑客看到大量您编写的代码,尤其是URL和SQL字符串之类的内容。你可以尝试变得非常聪明并建立起关系,但是你可能必须比黑客聪明两倍才能对他隐瞒事情

因此,与其试图让jar不受黑客攻击,不如保护您的数据库。公共连接不应该有很多特权,管理员帐户不应该远程访问以获得最大的安全性。要保护您的数据库,可能还需要做更多的事情,但我不是DBA



祝您好运。

您是否在连接文件中包含用户名和密码?您通常可以轻松地对文件进行反编译以查看源代码。是的,用户名和密码是在源代码处提供的。那么提供用户名和密码的有效方法是什么?更简单的攻击是简单地拦截代码与数据库之间的连接。绝对不需要反向工程。您是否在连接文件中包含用户名和密码?您通常可以轻松地对文件进行反编译以查看源代码。是的,用户名和密码是在源代码处提供的。那么提供用户名和密码的有效方法是什么?更简单的攻击是简单地拦截代码与数据库之间的连接。绝对不需要反向工程。你也应该使用一个工具来混淆代码。这些通常也会对字符串进行编码,使黑客的生活变得有点困难。@rho先生,我想到了代码模糊处理,这是一个好主意,但有些人可能认为,一旦代码被模糊处理,这就足够了。我更喜欢在编写代码时期望一切都是可见的。所以,不要把你不想看到的东西放在那里。如果你混淆了,更好的是:)我使用了一个类来进行连接。这个类有一个方法,将数据库名称作为字符串,并将连接返回给调用方。黑客可以创建该类的对象,并在该类之外调用公共方法,获取连接并执行任何查询。如何进行设计来防止它。如果我创建了该方法private我无法从java swing调用该方法。在需要时反复编写数据库连接代码是非常不可取的。如何保护具有将连接返回给调用方的方法的类,以便攻击者无法使该类的对象模糊化。如何防止攻击者创建该连接类的对象您还应使用工具模糊化代码。这些通常也会对字符串进行编码,使黑客的生活变得有点困难。@rho先生,我想到了代码模糊处理,这是一个好主意,但有些人可能认为,一旦代码被模糊处理,这就足够了。我更喜欢在编写代码时期望一切都是可见的。所以,不要把你不想看到的东西放在那里。如果你混淆了,更好的是:)我使用了一个类来进行连接。这个类有一个方法,将数据库名称作为字符串,并将连接返回给调用方。黑客可以创建该类的对象,并在该类之外调用公共方法,获取连接并执行任何查询。如何进行设计来防止它。如果我创建了该方法private我无法从java swing调用该方法。在需要时反复编写数据库连接代码是非常不可取的。如何保护具有将连接返回给调用方的方法的类,以便攻击者无法使该类的对象混淆,从而防止攻击者创建该连接类的对象