我需要一种安全的方法将信息从Java应用程序发送到我的网站的数据库。我目前在服务器上有一个PHP页面,它接受从Java中的URLConnection发布的参数,然后更新数据库。我担心,如果有人反编译,他们可以看到确切的URL和参数。我是这种类型的开发新手,所以我不知道更好/更安全的方法。
将数据传输到数据库的更好或更安全的方法是什么?
答案 0 :(得分:1)
如果您想让应用程序访问数据库,那么您永远不能100%阻止任何模拟应用程序行为的应用程序具有相同的访问权限。期。你只能让你的模式更难找到。
最好是让你的服务器(在这种情况下是你的php文档)验证它获得的每一个输入,以便排除不良行为。让php生成查询,让客户端应用程序只发送所需的数据,如用户名,密码或其他信息。在你的PHP中,你必须做好准备,一切都可以发送,而不仅仅是你期望的数据。使用预准备语句来防止sql注入并使用正则表达式来清理给定的任何输入。
答案 1 :(得分:1)
如果我理解得很清楚,您会害怕有人会从您的代码中找到网址,用户名和密码,并使用这些参数连接到数据库。您可以防止网络层上的错误行为(即仅允许您的IP地址通过配置防火墙访问数据库),或者,如果您无法更改防火墙/路由器配置,则更改数据库配置。例如,PostgreSQL有一个文件pg_hba.conf,您可以在其中指定允许访问的IP地址列表。但是,您必须防止使用连接到数据库的SQL注入等其他漏洞。
答案 2 :(得分:1)
从声音来看,您使用Java程序连接到PHP /服务器。如果您担心连接的安全性,可以使用HTTPS建立SSL连接(例如here)
您还可以建立质询/响应协议,其中服务器从客户端请求某种密钥,这可以使用一系列公钥/私钥,并使用这些密钥加密,以进一步减少错误的可能性输入请求