链接仅适用于我自己的应用程序


Link only available for my own app

我用应用程序将一些数据上传到服务器。我将数据发送到服务器上的一个PHP文件,然后这个PHP将数据写入我的数据库。这很好用。

但目前我的Android代码中没有这个PHP的链接。

是否有可能保存此链接或使我的PHP仅适用于我的应用程序?

静态密钥可以工作,但如果密钥被应用程序所有者嗅探自己的网络流量泄露,这种保护将很快失效。应该使用加密系统来代替,例如,对带有时间和日期的秘密盐进行简单的哈希处理。

客户端和服务器都应该以相同的字符串格式将日期和时间精确到分钟,并用一个秘密salt将其连接起来,然后对其进行散列。只要时间是同步的,就应该是好的。

您还可以使用挑战响应系统。第一个请求得到一个质询值,所有未来的请求都包括服务器验证的hash($challenge.$secretkey)

更复杂但有价值的是OAuth。

尝试将一些密钥作为GET参数发送到PHP脚本。

你可以在你的应用程序上设置它,然后在你的PHP脚本中检查它。

类似这样的东西:

script.php?key=893284932890482304

在您的PHP脚本中:

if ($_GET['key'] = '893284932890482304')
{
   // do the rest
}

另一个选项是在应用程序中设置"用户代理",然后在PHP脚本中检查此信息。老实说,我不知道如何在Android应用程序或iPhone应用程序或其他任何应用程序中设置"用户代理",但可能有一些方法可以做到这一点。