【问题标题】:How to protect MySQL Data from decompilers?如何保护 MySQL 数据免受反编译器的攻击?
【发布时间】:2017-11-07 20:48:59
【问题描述】:

我正在创建一个需要访问 MySQL 数据库的应用程序。但我知道人们能够反编译 Java 代码。我想知道是否有一种真正安全的方法可以连接到我的数据库而不会被反编译器访问?

【问题讨论】:

  • 这是否意味着您的用户名和密码已硬编码到您的代码中?你能多描述一下你的整体架构吗?
  • “安全方式...连接到mysql数据库”...dev.mysql.com/doc/refman/5.7/en/encrypted-connections.html
  • @stdunbar 是的,这就是我的意思。我试图绕过它被硬编码到它里面。
  • 请参阅下面@duskwuff 的答案 - 通常,您需要拆分您的应用程序才能成功完成此操作。
  • 您的数据库不应通过互联网访问,期间。您的客户应该无法直接连接到您的数据库,期间。

标签: java mysql security decompiling


【解决方案1】:

简而言之:没有。如果您分发连接到 MySQL 服务器的应用程序,用户将始终可以反编译和/或调试您的客户端应用程序以提取应用程序用于连接的凭据。

MySQL 主要供受信任的服务器端应用程序使用。如果您不能完全信任您的客户端应用程序(以及有权访问它的用户!),请不要让该应用程序连接到您的 MySQL 服务器。相反,请考虑构建基于 HTTP 的 API(即 Web 应用程序),以允许您的客户端软件对数据库执行适当的操作。

【讨论】:

    【解决方案2】:

    在 JavaEE 应用程序中,您可以将数据源存储在应用程序中,并在应用程序服务器中配置连接。

    您的应用程序是您的用户可以访问但可以访问 Internet 的独立 Java 应用程序吗?在这种情况下,您可以考虑将您的数据层隔离到另一个存储在其他地方并可以通过 Web 服务访问的应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-31
      • 2011-10-02
      • 2017-12-04
      • 2017-04-07
      • 2020-05-12
      • 2016-10-28
      • 1970-01-01
      • 2011-05-14
      相关资源
      最近更新 更多