考虑Android Web服务的安全性

时间:2011-09-03 09:40:55

标签: php android web-services json

我被要求编写一个Android应用程序来连接到http服务器。 我这样做是通过创建一个Web服务并将JSON数据发送到服务器上的PHP脚本来打开所需的数据库,然后插入解码的JSON对象。

现在我在考虑安全问题。首先,该应用程序将是专有的,而不是在ANdroid市场,但我担心两件事:

  • 有人不在公司的手机以某种方式获得该应用程序。然后他可以操纵数据库。或者公司丢失了Android手机,恶意的人试图破坏数据库。
  • 有人在没有Android手机的情况下使用PHP脚本并手动输入JSON数据,例如:从PC浏览器(我不知道是否可以这样做。)。

要解决第一个可能的问题,我打算使用ANdroid手机的序列号。

   TelephonyManager tm =   (TelephonyManager)activity.getSystemService(Context.TELEPHONY_SERVICE);
   String id = tManager.getDeviceId();

我将把它放在我的JSON对象中并将其发送到服务器,解码并检查有效ID号的数据库表。

这是个好主意吗?

我不知道如何处理第二个问题。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

实际上这两个问题都是相互关联的。您需要保证,只有具有适当权限的人才可以使用您的PHP脚本。为此,您需要制作授权系统。所有这些都需要从客户端发送一些验证数据,因此必须将其存储在手机中或者每次都由用户键入。例如,它可以是简单的登录/密码验证。您可以以加密形式在手机上存储此类信息,但无法保证如果有人拿起手机,他将无法使用此应用程序。如果您想避免这种情况,则无法存储密码 - 您必须每次都询问用户。

哦,至于你的想法,发送电话的唯一ID - 它可以很容易地从黑客手机中提取,后来他可以用它来手动调用你的PHP脚本。有一条简单的规则 - 如果您在客户端存储任何身份验证数据,技术人员可以随时提取并使用它连接到您的系统。