2011-09-20 101 views
0

我正在开发一个Android应用程序。 当用户按下按钮时,我想添加Android设备的唯一标识符和一些其他数据到数据库。Android:与数据库的安全连接

问题是:如何防止其他应用程序/网站等可以将数据放入我的数据库。

我正在考虑SSL连接,但其他应用程序也可以使用SSL连接来连接到我的数据库。接下来我想到的是创建一个额外的字段,使用salt并加密唯一的id +其他数据+ salt并在加密信息匹配的情况下检查数据库服务器。

但理论上可以对Android应用程序进行逆向工程,所以'他们'可以找到我的盐,并将加密的信息发送到我的数据库。

我该如何制作一个PHP脚本来将信息保存到数据库中,并使其仅适用于我自己的应用程序?

回答

1

如果这个数据是每个设备,那么在第一次运行时创建一个“cookie”,例如,一个足够长的随机ID,用于随后与服务器进行通信。还可以使用SSL,因此无人可以监听流量。

要生成随机字符串使用UUID

你可以使用Settings.Secure.ANDROID_ID,但如果有人反转你的协议,他们可以创建一个应用程序,捎带利用。不太可能但可行。

OTOH,如果数据是每个用户,那么您需要创建一个登录系统。

+0

Thnx为您的答案。问题是我想将设备添加到我的数据库。我不希望其他应用程序可以将设备添加到我的数据库,只是我的应用程序有权这样做。另外我想从数据库中获取数据,这些数据仅适用于我自己的应用程序。不像登录系统:) – ruta

+0

由于您不能信任设备,因此您必须信任用户。所以你需要一个登录系统。没有办法绕过它。 –

+0

我同意这一点!但我正在寻找一种解决方案,以确保向我的数据库发布或获取数据的请求来自我自己的应用程序。不是从另一个。用户知道与我的数据库存在连接并非偶然。 – ruta