客户端JavaScript中的Steam API密钥
Steam API Key in Client-Side JavaScript
最近我创建了一个Steam应用程序,使用Steam API,这需要Steam Key在很大程度上使用。我的应用程序完全使用客户端JavaScript编写,并且需要以某种方式将密钥放在那里。然而,Steam禁止用户在公共场所发布他的API,我相信源代码是公开的。
是否有编码的方式,所以没有办法得到正常的关键,但仍然保持功能,把它放在一个网站的调用(例如www.example.com/?api=key)。
我一直在看的一个例子是将其编码为base 64,但我不确定这是否满足所需的隐私。代码是:
alert(btoa("key"));
之后,我粘贴了在
示例中得到的警告消息var api=atob("key");
这对普通站点隐藏了密钥,但可以使用
这样的内容轻松解码。alert(atob("key"));
是否有一个库,我可以使用,或一些方式,不需要服务器端JavaScript(如node.js)来做到这一点
正如许多评论所指出的那样,没有办法使任何东西在客户端中安全,并且服务器被期望信任客户端。
在您的示例中,特别是使用功能aTob
和bToa
,您正在创建的是特别创建一个新的APIKEY
,其行为与原始APIKEY
一样,就像APIKEY'
一样,最终不安全。
这个问题的解决方案是将代码和APIKEY
完全排除在用户的操作之外。这是一个秘密,因此应该尽可能地保密和"隐藏"。
相关文章:
- API密钥使用和检查示例
- 基于api密钥的NodeJS web服务
- 带有新API密钥的Google Places Library OVER_QUERY_LMIT
- 如何在Ionic/Codova应用程序中保护我的Google Maps Javascript V3 API密钥
- 关于Parse.com客户端共享应用程序;api密钥
- 为Google Matrix指定API密钥API Javascript检索用法
- 谷歌云打印API密钥
- YouTube API密钥安全-我应该有多担心
- 使用javascript使用带有API密钥的API
- 您是否需要将 API 密钥用于客户端应用程序的谷歌地图 API
- 用于客户端-服务器通信和安全的 API 密钥
- 复制 API 密钥是否意味着身份被盗?
- 在 Javascript 中保护 API 密钥
- 是否可以检测到谷歌地图何时拒绝了API密钥
- 当我的 API 密钥位于 .gitignore 文件中时,如何从 git 部署到 heroku
- 在哪里使用地方 API 密钥
- 如何正确添加谷歌地图 api 密钥
- 谷歌地理编码仅在没有API密钥的情况下运行
- 在模型同步时发送带有 json 的 API 密钥
- Google 日历 API 密钥不允许通过简单的 GET 请求访问公共日历