【问题标题】:Front-End API Token Exposure前端 API 令牌暴露
【发布时间】:2017-04-26 04:14:08
【问题描述】:

我的问题既简单又笼统:在调用 RESTFUL API 时,无论它们是我的还是外部的,将令牌暴露在前端是常见的做法/可以吗?例如,在 Google Maps api 的文档中,他们建议使用以下代码:

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"
    async defer></script>

您的 API 密钥公开在前端供所有人查看这一事实是否可以?我猜谷歌有限制访问的选项,这样就可以解决这个问题,但是其他不提供该选项的服务呢?

将我的 API 调用保留在后端以保护我的令牌是否更好?我认为将它们放在后端不会是首选,因为它们我无法异步获取数据

【问题讨论】:

  • 不知道对你是否重要。但是如果您在主页上使用 google maps api,则可以(应该)将密钥注册到调用的 url。因此捕获此密钥以用于其他域是毫无意义的。
  • 是的,我更适用于不提供该级别安全性的其他 API

标签: javascript api


【解决方案1】:

简而言之,是的,如果您可以在客户端系统上欺骗 http referer 标头,则可以在您的站点中使用其他人的 API 密钥。事实上,如果您拥有其中任何一个,您甚至可以完全饱和他的配额

  1. 完全控制您的客户端浏览器(以操纵它可能发送到谷歌服务器的 HTTP 标头)
  2. 您拥有大量独特的 IP 地址(仅当您非常富有并且您生活中唯一的动机就是清空他的配额 xD 时才尝试)
  3. Idk atm 会告诉我是否学到了更多的东西或有人遇到了一些东西

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 2011-12-19
    • 2012-04-26
    • 2018-09-03
    • 2021-12-16
    • 1970-01-01
    • 2019-10-24
    相关资源
    最近更新 更多