Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过php设置全局javascript变量,使其值不公开?_Php_Javascript_Jquery_Wordpress_Variables - Fatal编程技术网

如何通过php设置全局javascript变量,使其值不公开?

如何通过php设置全局javascript变量,使其值不公开?,php,javascript,jquery,wordpress,variables,Php,Javascript,Jquery,Wordpress,Variables,我有我不想公开显示的api键,但我仍然想将它们指定为全局javascript变量,这样我就可以在脚本中访问它们。api密钥存储在数据库中,可通过php访问 假设我有一个php变量$key,我想把它分配给一个全局javascipt变量。我所做的不是在head标签中使用这行代码 window.key= 但这样一来,api键在head标记中是完全开放的。我想你明白了。谢谢 仅供参考:我在wordpress工作。因此,如果有任何wordpress特定的解决方案,您是最受欢迎的 尝试通过ajax请求密钥

我有我不想公开显示的api键,但我仍然想将它们指定为全局javascript变量,这样我就可以在脚本中访问它们。api密钥存储在数据库中,可通过php访问

假设我有一个php变量
$key
,我想把它分配给一个全局javascipt变量。我所做的不是在head标签中使用这行代码

window.key=

但这样一来,api键在head标记中是完全开放的。我想你明白了。谢谢


仅供参考:我在wordpress工作。因此,如果有任何wordpress特定的解决方案,您是最受欢迎的

尝试通过ajax请求密钥

但它在运行时仍然可见。使用firebug的人可以检查请求的答案,还可以通过firebug控制台中的console.log显示变量


javascript变量对于客户端始终可见。

尝试通过ajax请求密钥

但它在运行时仍然可见。使用firebug的人可以检查请求的答案,还可以通过firebug控制台中的console.log显示变量


javascript变量对于客户端总是可见的。

这是不可能的,因为javascript是客户端的,因此总是公共的。

这是不可能的,因为javascript是客户端的,因此总是公共的。

所有Java脚本都是可见的。您没有告诉我们为什么需要api密钥,因此我建议以下解决方案:

  • 您可以为客户端设置临时api密钥

  • 若一个客户端想要通过api密钥下载一个文件,你们可以使用用php编写的代理,所以当客户端下载页面时,它会隐藏下载并返回给客户端


  • 所有Java脚本都是可见的。您没有告诉我们为什么需要api密钥,因此我建议以下解决方案:

  • 您可以为客户端设置临时api密钥

  • 若一个客户端想要通过api密钥下载一个文件,你们可以使用用php编写的代理,所以当客户端下载页面时,它会隐藏下载并返回给客户端


  • 如果它是一个JavaScript变量,那么它是公开的。任何像这样的密钥都应该保存在服务器端。你真的需要使用JS来执行API调用吗?@JohnP:我是通过ajax跨域调用的。你认为我应该在服务器站点的代理脚本中使用api键吗?我认为你应该发布到你自己的脚本中,让它通过curl或其他方式来处理这个问题。这将使一切都保持良好和隐蔽。@JohnP:通过卷曲来实现。谢谢如果它是一个JavaScript变量,那么它是公开的。任何像这样的密钥都应该保存在服务器端。你真的需要使用JS来执行API调用吗?@JohnP:我是通过ajax跨域调用的。你认为我应该在服务器站点的代理脚本中使用api键吗?我认为你应该发布到你自己的脚本中,让它通过curl或其他方式来处理这个问题。这将使一切都保持良好和隐蔽。@JohnP:通过卷曲来实现。谢谢所以javascript中的任何变量都可以访问?事实就是这样。如果可能的话,尝试在服务器端进行api检查。这样javascript中的任何变量都可以访问?事实就是这样。如果可能,尝试在服务器端执行api检查。