Php Ajax到API而不公开密钥
我很确定我要问的答案是否定的,但也许有人能给我一个不同的想法,所以我还是要问 我正在开发一个控制面板,通过API调用从第三方Web服务获取信息。我可以使用AJAX进行调用,在浏览器上以毫秒为单位返回结果,但我将公开此服务的API密钥。即使这是一个访问受限的内部网,员工也可以四处嗅探并获取私有API密钥,例如,只需查看Safari的活动窗口。员工是值得信赖的,但我不想因为信任而拿我的发展安全冒险 我现在要做的是使用一个php调用CURL调用,但是这样做需要2到3秒钟:不是php本身,而是共享主机到第三方服务器并返回 有没有一种方法可以让浏览器直接向API发出请求,而不公开私钥?我认为从定义上讲这是不可能的,但我正在分享这个场景,所以也许有人有更好的想法(我试图避免缓存,因为获取的信息会在第二秒发生变化) 这不是问题,我对此有一个疑问:如果我在Mac OS终端或本地Apache上通过CURL调用API,每次大约需要12秒才能得到结果,但在同一台计算机上的浏览器和连接可以在毫秒内得到结果。我不太熟悉CURL在内部的工作原理,但CURL要么是一个缓慢的机制,要么在我的Mac中工作不好Php Ajax到API而不公开密钥,php,ajax,api,curl,secret-key,Php,Ajax,Api,Curl,Secret Key,我很确定我要问的答案是否定的,但也许有人能给我一个不同的想法,所以我还是要问 我正在开发一个控制面板,通过API调用从第三方Web服务获取信息。我可以使用AJAX进行调用,在浏览器上以毫秒为单位返回结果,但我将公开此服务的API密钥。即使这是一个访问受限的内部网,员工也可以四处嗅探并获取私有API密钥,例如,只需查看Safari的活动窗口。员工是值得信赖的,但我不想因为信任而拿我的发展安全冒险 我现在要做的是使用一个php调用CURL调用,但是这样做需要2到3秒钟:不是php本身,而是共享主机到
谢谢否,当浏览器请求服务时,用户可以随时嗅探密钥。因此,使用PHP作为代理是一个很好的解决方案。不,因为javascript代码被发送到客户机并在其上运行,所以无法不以某种方式公开API密钥。加密/混淆它将是毫无意义的,因为有知识的用户只需使用头查看器/数据包嗅探器就可以从API请求中提取明文密钥 不向用户公开密钥的唯一方法是不让用户获得密钥,这意味着代理请求