通过API

时间:2016-07-11 12:09:59

标签: php android api

我想通过API获取JSON数组。我们创建的API运行良好,但我们担心因为我们在Android应用程序上使用API​​而且可能更容易解开APK并访问我们的API。由于它是Android应用程序,我们无法通过IP限制访问。

但是,我们希望保护对该API的访问权限PHP文件通过App接受。有没有办法验证应用程序在服务器端的拉取请求。

注意:我们正在使用Amazon EC2实例。我不会在此处发布对文件或服务器的直接访问权限。

1 个答案:

答案 0 :(得分:2)

您可以使用PackageManager类http://developer.android.com/reference/android/content/pm/PackageManager.html

访问此类APK的签名签名
Signature[] sigs = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES).signatures;
for (Signature sig : sigs) {
    Log.i("MyApp", "Signature hashcode : " + sig.hashCode());
}

我们可以使用它来与我们的调试密钥或释放密钥的哈希码进行比较,以确定APK是调试APK还是发布APK,或者使用任何其他签名进行签名。

因此,如果有人试图模糊你的apk,应用程序的签名将会改变。

  

您必须更改API,并且需要发送签名   在Restful API中使用app,以便服务器可以确保API调用   是真的。

此外,您需要在应用程序中启用proguard,以便进行模糊处理。

希望有所帮助。 干杯!!