javascript - 如何在客户端 Javascript 中隐藏 API key

标签 javascript jquery api

现在我正在编写一个客户端 javascript 应用程序,它向 USPS Price Calculator API 发出请求。为了发出此请求,我需要在请求的 xml 中提供我的 API 用户 ID。标签如下所示: <RateV4Request USERID="ThisIsWhereMyUserIdGoes"> .我的问题是:有什么方法可以向 javascript 提供我的用户 ID,同时仍然对查看客户端文件的用户隐藏它。现在,我唯一的解决方案是在我的服务器中创建一个具有用户 ID 的 PHP 文件,然后在客户端 javascript 中使用 AJAX 请求将其存储在全局变量中。它看起来像这样:

var userID;
$.get("/secrets.php", function( data ) { 
       userID = data;
});

这是防止我的 API 用户 ID 被我的应用程序用户看到的充分方法吗?我还能做什么?

最佳答案

简而言之:不,您不能在客户端应用程序中保护您的 API key 。

This article goes into some more detail

两种选择

  • 在服务器端调用 API,然后从那里向客户端提供信息
  • 要求客户使用他们自己的 API key

关于javascript - 如何在客户端 Javascript 中隐藏 API key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38237673/

相关文章:

javascript - jQuery 在鼠标悬停时淡入

jQuery 在文档加载时没有返回正确的正文高度 - 他们的错误还是我的错误?

java - 如何仅从 url 获取 YouTube 视频的标题?

javascript - postman 在预请求脚本中获取随机用户名

javascript - Javascript 可以检测 UWP 吗?

javascript - 从选择框选项获取值后如何提交

Javascript Switch 函数中的用法

javascript - 在 Ext 3.4 框架上使用 debounce

jquery - 使用 jQuery 获取网站信息

api - Grails-向API发送 “multipart/form-data”请求