如何向使用该程序的人隐藏 MySQL 数据库的密码

2023-12-26

我使用 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());
    }

然而,如果有人想找出密码,使用任何 java 反编译器都会非常简单。我怎样才能阻止他们找到密码,甚至用户名?


当您允许用户直接访问您的数据库时,您必须记住这一点您已授予他们直接访问您的数据库的权限。你无法改变这一点。再多的加密或混淆也无法消除他们对您数据库的访问权限。

所以你需要考虑一下,你really希望他们能够访问您的数据库?

  • 如果您确实想授予数据库访问权限,请确保权限设置正确。例如,如果他们只需要读取访问权限,请确保您授予他们的用户仅具有读取访问权限。

  • 如果您实际上并不希望他们直接访问数据库,但希望他们能够访问data然后不要将数据库密码放入您的程序中at all。例如,您可能希望在数据库前面设置一个 Web 服务,并让您的用户查询该 Web 服务。 Web 服务将具有数据库密码,但您的用户不会。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何向使用该程序的人隐藏 MySQL 数据库的密码 的相关文章

随机推荐

  • postgresql - 查询构建 json

    运行 PostgreSQL 9 6 2 我的数据以键 值对的形式存储在表中 key 实际上是一个json对象的路径 每一个都是一个属性 例如 如果键是 cogs props1 value 那么 json 对象将如下所示 cogs props
  • Python-将脚本安装到系统

    如何为我自己的脚本制作 setup py 文件 我必须使我的脚本全球化 将其添加到 usr bin 这样我就可以从控制台运行它 只需键入 scriptName 参数 操作系统 Linux EDIT 现在我的脚本可以安装了 但是如何使其全局化
  • JavaScript 立即函数

    Stoyan Stefanov 在 Javascript Patterns 中说道 你需要一个即时函数来将所有代码包装在其本地作用域中 并且不会将任何变量泄漏到全局作用域 第 70 页 这是他的例子 function var days Su
  • Angular 9 中的视频 JS - 实时视频 - “无法解决 videojs”问题?

    我正在努力让 videojs 在我的 Angular 9 应用程序中工作 我已经查看了所有现有的 stackoverflow 帖子 应用了他们的解决方案 查看了不同的博客文章和 github 来了解视频 js 的问题 但我仍然遇到 无法解决
  • 清除 mySql 中的电话号码字段

    不是数据库人员 而是 我混淆了我继承的 mySql 数据库中的数据 部分电话号码已格式化 512 555 1212 称之为肮脏 其他的5125551212 称之为干净 我需要一个 sqlstamet 说 UPDATE table name
  • UINavigationBar 不与 swift 4 中的 UICollectionView 重叠

    我将导航栏放在 swift 4 中的 UICollectionView 中 当我滚动 collectionView 时 它不会转到后层 而是与导航栏重叠 self collectionview contentInset UIEdgeInse
  • 常见 Linq 表达式的示例 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 当我编写代码时 我开始确定可以使用 Linq 的地方 我的问题是我对语法还很陌生 我通过示例学习效果最好 但我似乎无法轻松找到我需要的
  • 如何禁用 Surface 4 Pro 中的 WPF 平板电脑支持?

    我继承了一个面向 Net 3 5 的 WPF 应用程序 并且必须将其安装在 Surface Pro 4 I5 中 应用程序挂在不同的点 我观察到动画有时永远不会触发已完成的事件 也许它们在某个点结束 但不是在 Duration 属性中表示的
  • 是否有最佳方法来部署架构以使用微服务模型发送短信?

    我们在后端类中有一个服务 该服务如下所示 Setup AWS SNS AWS config update region eu west 1 accessKeyId process env AWS ACCESS KEY ID secretAc
  • div的一部分透明?

    是否可以仅使 div 的一部分透明 就像 div 中的一定空间一样 例如 您从 div 顶部选择 100px 并且顶部 100px 设置了不透明度 我该怎么做呢 您可以做几件事 尝试使用一半透明而另一半不透明的背景图像 使用 CSS 渐变时
  • 绘制顺序是否会影响对象的深度位置? (包括图片)

    我的场景中有一些对象 即使我指定对象 A 的 y 10 最高的对象 从顶部摄像机我也可以通过对象 A 看到底部对象 这是我场景中的图像 直到今天我才发现一个有趣的属性 模型的绘制顺序很重要 我可能是错的 这是另一张图像 我更改了 ship1
  • 如何从 jQuery 选择器获取 DOM 元素?

    我很难找到真正的DOMElement来自 jQuery 选择器 示例代码
  • 打包许多小部件时的 Tkinter 性能

    我正在使用 Tkinter 在 python 中制作 GUI 并且在将许多小部件打包到屏幕上时遇到了一些性能问题 例如打包 50x50 的按钮网格需要几秒钟 这似乎是在屏幕上绘制 或排列 小部件的过程 这需要时间 我尝试过使用网格和位置几何
  • 将 jQuery 集成到现有的 ASP.NET Web 应用程序中?

    微软最近宣布 http weblogs asp net scottgu archive 2008 09 28 jquery and microsoft aspxJavascript HTML DOM 库jQuery 将被集成进入 ASP N
  • 我应该如何渲染 2D 手电筒效果?

    我正在尝试在 2D 游戏中制作手电筒效果 我的手电筒被表示为以特定角度从实体延伸的线段 手电筒可以指向任何方向 手电筒的强度 手电筒光束的长度 也有所不同 我在尝试找出渲染手电筒效果的最佳 最简单 和最灵活的方法时遇到问题 尤其是平铺地图
  • 单击按钮时显示警报

    我正在使用默认的 Facebook 嵌入代码 div div
  • 通过 Web 服务返回大量结果

    我目前正在开发一个网络服务 返回的结果可能会很大 gt 5mb 这组数据如此之大 并且 Web 服务可以称为同步或异步 这是完全有效的 但我想知道人们对以下内容有何想法 如果连接丢失 整个结果集必须是 重新生成并再次发送 有没有 我可以用任
  • 将 Google Analytics“v4”集成到 Android 应用程序中

    感谢您的回答 但仍然不起作用 我已经创建 public class GAnalytics extends Application The following line should be changed to include the cor
  • $(window).resize() 会在方向改变时触发吗?

    当浏览器窗口大小调整时 我使用它来运行一些代码 window resize callback 当手机和平板电脑的方向发生变化时 我还需要运行此代码 上述事件会火吗 有些设备 浏览器可以 有些则不行 您需要确定支持的浏览器和设备 如果您想安全
  • 如何向使用该程序的人隐藏 MySQL 数据库的密码

    我使用 JDBC 创建了一个 java 程序 它成功连接到我的计算机服务器的 MySQL 数据库 如下所示 try The newInstance call is a work around for some broken Java imp