我有 api 密钥,我不想在公共场合显示,但我仍然想将它们分配为全局 JavaScript 变量,以便我可以在脚本中访问它们。api密钥存储在数据库中,可通过php获得。
假设我有一个 php 变量$key
我想分配给全局 javascipt 变量。不是我所做的是在 head 标签中使用这行代码。
window.key = <?php echo $key; ?>;
但这样,api密钥在头标签中是完全开放的。我想你明白了。谢谢!
仅供参考:我在wordpress工作。因此,如果有任何特定于wordpress的解决方案,我们非常欢迎您!
这是不可能的,因为 JavaScript 是客户端的,因此总是公开的。
尝试通过 ajax 请求密钥。
使用它的人可以检查请求的答案,也可以通过控制台显示变量.log在Firebug控制台中。
JavaScript 变量对客户端始终可见。
所有javascript都是可见的。您没有告诉我们为什么需要 api 密钥,所以我提出以下解决方案:
-
您可以为客户端设置临时 api 密钥
-
如果客户端想通过 api 密钥下载文件,您可以使用用 php 编写的代理,因此当客户端下载页面 http://yoursite/proxy/其隐藏的下载 http://somesite/api/api-key/并返回给客户端