保护私钥 API

Securing private API key

所以我一直在搜索整个私有 API 密钥的安全性,我对我应该采用的方法感到有点困惑,因为我还没有找到具有相同特殊性的人issue/approach 比我的还好。

我正在开发一个 Android 应用程序,该应用程序通过第三方 API 运行,我通过请求私钥获得了访问权限。现在,2 分:

因此,从这里您可以看出我并没有试图在应用程序代码中隐藏 API 键,我也没有试图使用用户 ID 和签名来允许访问我的 API 并连续到原来的 API..

问题是,尽管无法在浏览器中看到 php 代码,但并非不可能以其他方式这样做,所以我不能安全地将我的密钥存储在那里任何一个。所以我的问题很简单,这仍然是我用来隐藏私人 API 密钥的最佳方法,还是我应该重新考虑我执行所有这些过程的方式?

您的应用程序应连接到您的服务器,然后代表您的用户将信息发送到需要 api 密钥的 API 服务器。唯一应该传输 api 密钥的时间是当您的服务器与 API 服务器通信时。

如果我理解正确的话,你不想将 API 密钥存储在你的 public 网络文件夹中,因为在某些情况下它可能 public 可以访问.

我遵循的建议是将 API 密钥存储在根 Web 文件夹之外的文件中。然后,您 require/include 脚本中 public 文件夹中的那个文件。

在 Linux 环境中,是这样的:

/var/www/your_script.php (public access)
/var/secure/api_key.php (private, web server doesn't access this directory)

在your_script.php

require_once 'api_key.php'; // example only, you will need to use the correct path
echo $api_key; // testing, you can use the key in the script

在api_key.php

$api_key = '15r723er8q5re';