1

I need a secure way to send information from a Java application to a database for my website. I currently have a PHP page on the server that accepts the parameters posted from a URLConnection in Java, and then updates the database. My fear is that, if somebody decompiles it, they can see the exact URL and parameters. I am new to this type of development, so I don't know a better/safer way to do it.

What is a better or safer way to get the data to the database?

4

3 回答 3

1

如果您想授予应用程序对数据库的访问权限,那么您永远不能 100% 阻止任何模拟您的应用程序行为的应用程序具有相同的访问权限。时期。你只能让你的模式更难被发现。

更好的是让您的服务器(在这种情况下是您的 php 文档)验证它获得的每一个输入,以便排除不良行为。让 php 生成查询,让客户端应用程序只发送所需的数据,如用户名、密码或其他信息。在您的 php 中,您必须做好准备,一切都可以发送,而不仅仅是您期望的数据。使用准备好的语句来防止 sql 注入并使用正则表达式来清理任何给定的输入。

于 2012-08-10T10:43:02.687 回答
1

从听起来,您使用 Java 程序连接到您的 PHP/服务器。如果您担心连接的安全性,您可以使用 HTTPS 建立 SSL 连接(此处示例)

您还可以建立一个质询/响应协议,其中服务器从客户端请求某种密钥,这可以使用一系列滚动的公钥/私钥以及用这些加密的消息,以进一步减少错误输入请求的机会

于 2012-08-10T17:07:26.823 回答
1

如果我理解的很好,你怕有人会从你的代码url、用户名和密码中找出来,并用这些参数连接到数据库。您可以在网络层防止这种不当行为(即通过配置防火墙仅允许您的 IP 地址访问数据库),或者,如果您无法更改防火墙/路由器配置,则更改数据库配置。例如,PostgreSQL 有一个文件 pg_hba.conf,您可以在其中指定允许访问的 IP 地址列表。但是,您必须防止使用您与数据库的连接的其他漏洞,例如 SQL 注入。

于 2012-08-10T11:32:21.263 回答