1

我有一个直接连接到 MySql 数据库以进行用户身份验证的 Swing 应用程序。

  • 该应用程序的位代码将在互联网上提供下载
  • 连接信息在静态变量中

我知道我应该编写一个服务器来处理身份验证,但最初的要求没有提到身份验证用例

我的问题是:混淆应用程序是否足以对连接信息进行编码?

4

3 回答 3

1

不,大多数人将能够对字节码进行逆向工程或反编译并查看变量。您可以自己尝试一下,看看您并没有真正向任何高级用户隐藏任何东西。

在这种情况下,您真的希望在客户端和数据库之间有一个服务来处理身份验证,就像您说的那样。

然后,该服务将拥有允许/禁止访问数据库的用户帐户。

编辑:

尝试使用这个反编译器并亲自看看这不起作用。

于 2012-06-20T16:22:00.157 回答
1

你知道他们怎么说通过默默无闻的安全!(提示:这根本不是安全性)。

加密它(尽管似乎没有服务器端组件,我没有看到可行的方法)。或者像你说的那样做认证服务器端。

于 2012-06-20T16:23:28.673 回答
0

我想做一些快速而肮脏的事情,但最后我意识到做正确的事情也不会花费太多。我所做的是有一个在服务器端公开DAO的外观,一个服务器和一个通过 Java Socket 通信的客户端对象。

然后,我不直接从客户端调用 DAO,而是通过将方法名称作为字符串传递来调用服务器上的方法。并且在反射的帮助下,facade 调用了 DAO 上的正确方法。

我想我应该对字符串进行编码并添加一个安全令牌。

    -
于 2012-07-06T01:08:33.440 回答