我正在远程服务器上运行Java程序和MySQL数据库。现在我想要的是建立一个通信并能够从java程序执行查询(选择,插入,删除,更新)以在数据库中生效。我知道有一个库(JDBC MySQL连接器)允许我将我的Java程序与数据库连接。我也知道可以使用MySQL JDBC接口直接从Java程序执行查询。但是,我的问题是,与存储在远程服务器上的数据库进行这种“通信”是否足够安全。我还读到有一个选项可以使用PHP / Pearl来做到这一点。所以我的问题是:
通过互联网在远程服务器上运行Java程序和MySQL数据库之间建立连接的最佳选择/解决方案是什么?
答案 0 :(得分:0)
但是,我的问题是,与存储在远程服务器上的数据库进行这种“通信”是否足够安全。
通过“足够安全”模拟你的真正含义的问题,的答案可能是......如果你采取合理的预防措施。例如:
使用PreparedStatement
和查询参数以避免SQL注入问题 1
如果可能,请使用适当安全的专用网络(例如VPN)进行java< - >数据库流量
如果您无法保护网络,请使用SSL;例如http://dev.mysql.com/doc/refman/5.0/es/connector-j-reference-using-ssl.html
保护您的数据库帐户和身份验证凭据。
1 - 这涉及不同的“攻击”模式......但它实际上是常见的。
您还需要平衡远程数据库访问对安全和风险管理的需求。例如,如果安全漏洞的潜在后果是可怕的,那么您甚至不应该通过互联网考虑进行数据库访问。
通过互联网在远程服务器上运行Java程序和MySQL数据库之间建立连接的最佳选择/解决方案是什么?
我认为我们无法回答这个问题。
答案 1 :(得分:0)
出于安全原因,您的数据库可能只接受来自同一服务器的php脚本。 可能性是: https://stackoverflow.com/questions/21882135/how-to-send-data-from-java-applet-to-php-to-mysql-and-read-data-from-mysql-to-ph