如何确保您的PHP脚本仅由您的授权应用程序调用?

时间:2015-04-27 20:25:37

标签: php android html ios networking

假设我在服务器上有一个名为process.php的PHP脚本。我想从iOS / Android应用程序调用脚本。我想在没有应用程序的情况下调用脚本是不可能的,例如从计算机调用它。我怎样才能使这个验证过程安全且无法解决?

我曾经想过的一些事情:

  1. 使用一个类似密码的静态密钥来解锁脚本。这不是一个非常好的方法,因为一旦您的密钥被黑客攻击(可能是逆向工程,密钥存储在您的应用程序中),他们就可以完全访问您的脚本。

  2. 创建哈希函数并按照以下步骤操作:

    • 向服务器发出请求并获取字符串
    • 在本地设备上散列字符串
    • 发送散列字符串
    • 如果服务器收到的字符串与服务器期望的字符串相同(在服务器上散列的请求发送)我解锁脚本 这样,只有拥有哈希函数才能访问。这样安全吗?
  3. 没有用户的登录凭据我还有哪些其他选择?

2 个答案:

答案 0 :(得分:1)

如果您担心,可以创建API密钥并使用HTTPS并将其附加到POST请求中的URL。仅确认包含密钥的请求。

答案 1 :(得分:0)

我会使用密码。

将加密的密码存储到SQL数据库中,然后在服务器发回请求之前,确保密码包含在请求中。如果要确保密码永远不会以纯文本形式发送,则可以使用HTTPS。

您的选项2有效,但如果您担心安全性,那么我会使用HTTPS。