因此,我一直在搜索整个私有API密钥的安全性,我对应该采取的方法感到困惑,因为我还没有找到与我的问题/方法相同的人.
我正在开发一个可通过第三方API工作的Android应用,该API通过请求私钥获得了访问权限.现在,有2分:
>我的应用程序不直接请求使用的API,而是请求一组我编码的PHP文件(托管在应用程序网站上),以简化请求并从使用的API中检索数据,如果允许的话,让我们称之为“某种API”.因此,从应用程序仅发送指定我的API应该向原始API请求的请求,因此,这些请求不需要原始API私钥,因为我可以将其存储在php文件,并在需要时使用.
>我的应用程序不需要用户注册他们的帐户,因此我没有任何用户ID或名称可用于请求.
因此,从中您可以看到,我没有在应用程序代码中隐藏API密钥,也没有在尝试使用用户ID和签名来允许访问我的API以及连续访问原始API.
事实是,尽管事实上无法在浏览器中看到php代码,但并非不可能以其他方式做到这一点,因此我也不安全在其中存储密钥.所以我的问题很简单,这是否仍然是隐藏私有API密钥的最佳方法,还是我应该重新考虑所有这些过程的方式?
解决方法:
如果我对您的理解正确,则您不想将API密钥存储在公共Web文件夹中,因为在某些情况下可以公开访问该API密钥.
我遵循的建议是将API密钥存储在根Web文件夹之外的文件中.然后,您需要/在公用文件夹的脚本中包含该文件.
在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';
标签:security,api,key,php,android
来源: https://codeday.me/bug/20191119/2035628.html