Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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
客户端JavaScript中的Steam API密钥_Javascript_Steam - Fatal编程技术网

客户端JavaScript中的Steam API密钥

客户端JavaScript中的Steam API密钥,javascript,steam,Javascript,Steam,最近,我使用Steam API创建了一个Steam应用程序,它需要在很大程度上使用Steam密钥。我的应用程序完全使用客户端JavaScript编写,需要以某种方式将密钥放入其中。但是Steam禁止用户在公共场所发布API,我相信源代码是公开的 是否存在对其进行编码的方法,因此无法获取正常密钥,但仍保留将其放入网站调用的功能,例如www.example.com/?api=key 我一直在看的一个例子是将其编码到Base64中,但我不确定这是否满足所需的隐私。这方面的代码是: alert(btoa

最近,我使用Steam API创建了一个Steam应用程序,它需要在很大程度上使用Steam密钥。我的应用程序完全使用客户端JavaScript编写,需要以某种方式将密钥放入其中。但是Steam禁止用户在公共场所发布API,我相信源代码是公开的

是否存在对其进行编码的方法,因此无法获取正常密钥,但仍保留将其放入网站调用的功能,例如www.example.com/?api=key

我一直在看的一个例子是将其编码到Base64中,但我不确定这是否满足所需的隐私。这方面的代码是:

alert(btoa("key"));
在那之后,我粘贴了我在一个示例中得到的警告消息

var api=atob("key");
这会在普通站点中隐藏密钥,但可以使用以下方法轻松解码:

alert(atob("key"));

是否有我可以使用的库,或者一些不需要服务器端JavaScript(如node.js)的方法来实现这一点。

正如许多评论所指出的,一旦它在客户端中,并且服务器希望信任客户端,就没有办法确保任何安全

在您的示例中,尤其是使用函数aTob和bToa,您正在创建的是一个新的APIKEY,其行为与原始APIKEY相同,即“APIKEY”,这最终是不安全的


解决方法是将代码和APIKEY完全放在用户的操作中。这是一个秘密,因此应该尽可能地安全和隐藏。

不,您必须使用服务器端处理来完成这项工作。您无法在客户端安全地编码任何内容。正如Kishore所说。此外,base64编码在跨浏览器时也会失败。啊,该死。嗯,值得一试。如果它迫使我移动到node.js,我将能够使其他应用程序更快。