【问题标题】:What to do with unique API keys in JavaScript?如何处理 JavaScript 中的唯一 API 密钥?
【发布时间】:2010-12-22 18:56:37
【问题描述】:

我是 web javascript 开发的新手,并且正在为 web 上的一些公共 API 使用应用程序和脚本。当站点向您发出唯一密钥来标识您的应用程序时,您将其编码到您的脚本中,以便您可以访问站点 API,但是任何可以访问您站点的人也可以检查您的 JavaScipt 的源,以便他们可以查看/获取/使用您的API 密钥。

虽然您自己的网站在这里没有直接的安全问题,但这是否意味着其他人可以获取我的 API 密钥并将其用于他们自己的完全不同的应用程序?如何确保它的安全或以安全的方式存储它?

这方面的最佳做法是什么?

【问题讨论】:

  • 例如哪个 API?为什么要从客户端 Javascript 访问他们的 API?
  • @MK:想到各种 Google API(例如 Google Maps API)
  • 这是一个寻找一般答案的一般问题,但具体来说,我正在使用 last.fm api,所以我的客户端脚本根据我最近的曲目查询一些统计数据(所以一个网站例如,访问者可以看到我的最新统计信息)。如果我正在访问 Twitter 以获取最新的 10 条推文或其他内容,可能会出现类似的问题 - 同样的问题。

标签: javascript api web-applications


【解决方案1】:

API 密钥通常与域相关联。因此,即使有人试图使用您的密钥,它也无法在任何域上使用,但在为其颁发该密钥的站点的域上。

【讨论】:

    【解决方案2】:

    当需要从客户端代码调用 API 时,API 通常会提供域身份验证作为 API 机密的替代方案。

    【讨论】:

      【解决方案3】:

      通常这些 KEYS 被映射到一个域。因此其他人的域将无法使用您的密钥。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-15
        • 1970-01-01
        • 1970-01-01
        • 2010-09-29
        • 2018-11-17
        相关资源
        最近更新 更多