- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个使用 3rd 方 API 服务的应用程序(例如 Google Maps、segment-analytics 等......)。所有这些应用程序都提供了一个应该嵌入到 JS 代码中的 API key 。
因此,任何可以检查源的人都知道客户端 key 。这些服务如何防止错误使用该 key 。
假设有人使用我的 key 调用这些 API 的次数与每日允许的最大 API 调用限制一样多,这将使进一步的实际 API 调用失败。
我知道 Referrer Header 可用于检查请求来源,但 Referrer Header 很容易被精明的用户欺骗。
我不知道服务部门是否采取了任何措施。似乎是一个非常重大的问题。
提前致谢。
最佳答案
这是一个风险,但如果 API 提供者做好准备,它并不像看起来那么糟糕。
首先要注意的是,这样的 API key 不用于身份验证,因为它不验证调用者(无论是应用程序还是最终用户)。它仅适用于速率限制和跟踪之类的事情。
因此,真正的威胁与您描述的类似,例如有人使用您的 API key 并用完您的配额。但是,如果该人是通过他自己的计算机或网络执行此操作,则所有恶意流量都可以从他的 IP 或 IP 范围中看到。如果 API 提供商很聪明并且有良好的监控(如 Google),他们不会撤销/禁用您的 API key ,而只会过滤或忽略恶意流量。
因此,攻击者应该能够使用您的 API key 建立一个网站并让用户访问它。但是,在这种情况下,无法欺骗引用者/来源 header ,浏览器通常不会允许 Javascript 更改请求中的引用者或来源 header 。同样,API 提供者有一种方法可以根据引用者/来源过滤恶意流量。
攻击者需要访问许多不同的客户端,例如僵尸网络,以使用您的 API key 发出所有这些请求以耗尽您的配额。这可能会奏效,但如果攻击者可以通过分布式拒绝服务攻击您的站点,那么您主要关心的可能不是您的 API key 。
关于api - 3rd 方 API 如何防止 API 报价被盗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41233416/
我正在制作一个全栈网络应用程序。我的前端由 Angular-cli 组成,后端由 Node + Express 构建。 我设法使用 JWT token 进行身份验证(阅读:注册和登录)。此时此 tok
如果攻击者将放置在 SetAuthCookie 调用中的身份验证 cookie 从受害者 PC 复制到他们的 PC,是否会认为攻击者已通过 Web 应用程序的身份验证? public static v
This post指的是一种通过使用 TLS session ID 作为替代方法来避免 cookie 被盗的方法。 我如何在 ASP.NET 中访问 TLS session ID? 最佳答案 评论有点
我是一名优秀的程序员,十分优秀!