本文介绍了如何在客户端 Javascript 中隐藏 API 密钥的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Right now I am writing a client-side javascript app that makes a request to the USPS Price Calculator API. In order to make this request, I need to provide my API User ID in the xml of the request. The tag looks like this:<RateV4Request USERID="ThisIsWhereMyUserIdGoes">. My question is this: is there any way I can provide my user ID to the javascript, while still hiding it from users who look at the client-side files. Right now, the only solution I have is to create a PHP file in my server that has the User ID, then using an AJAX request in the client-side javascript to store it in a global variable. It looks like this:

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

这是否足以防止我的应用程序用户看到我的 API 用户 ID?我还能做什么?

Is this an adequate way of keeping my API User ID from being seen by the users of my app? What else could I do?

推荐答案

简而言之:不,您无法在客户端应用程序中保护您的 API 密钥.

In short: No, you can't secure your API key in a client-side app.

这个文章有更详细的介绍

两种选择

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

这篇关于如何在客户端 Javascript 中隐藏 API 密钥的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 05:17