我在GitHub上遇到了一个开源项目SoundCloud-Profile-Backup,其中用户开发了一个带有一些PHP代码的网页:
require 'secure.php';
//Create a secure.php and set the variable $client_id to your client_id
$client_id
变量随后被用作(但从未在网页中明确设置,据我所知)作为 SoundCloud HTTP API 中'resolve
资源的参数。
下面是使用它的行的片段:
http://api.soundcloud.com/resolve.json?url=http://soundcloud.com/$username&client_id=$client_id
由于我不熟悉PHP和SoundCloud应用程序开发,我的问题是:
- 该项目是开源的,但没有安全.php可用,所以我认为它在某种程度上是PHP的一部分,而不是临时创建的东西。那么.php什么是安全的呢?
$client_id
变量到底是什么?它是一种 PHP 内置变量,只要包含安全.php就设置,如注释所暗示的那样?
require 'secure.php';
和我的应用程序中使用的$client_id
变量(我们谈到了软件推荐),与 SoundCloud 或 PHP 无关。
基本上,文件背后的想法是secure.php
和$client_id
在单个文件中拥有SoundCloud的API凭据。然后,该文件将在我的.gitignore
文件中,因此它不会被发送到GitHub。这样,我可以将脚本公开,凭据私有。
有关require '';
的信息,请查看 PHP.org 上的 Require 函数。基本上,它只是确保加载参数中给出的文件,如果没有加载,脚本就会出错。
$client_id
是由SoundCloud的开发人员应用程序仪表板提供的32个字符的ID。
同样,SoundCloud和PHP与secure.php
或$client_id
无关 - 它只是在我的应用程序中使用。