1

我是 JavaScript 新手。

我想要的帮助是了解如何保护用于访问我的 Restful Web 服务的 API 密钥。

我正在使用 API 密钥访问一些 Restful Web 服务,我希望这些 API 密钥受到保护。当我将 API 密钥放在控制器中时,它们将对用户可见,因为最终用户可以看到 Javascript 代码。

无论如何,我可以将这些注册为一些变量并在查看 Javascript 代码的最终用户看不到 API 密钥的控制器中使用吗?

提前致谢!

4

3 回答 3

5

如果您需要保护任何东西,请在服务器上执行。例如,您可以在服务器上代理 api 调用,但您无法使用客户端 javascript 代码保护任何内容。

于 2013-01-02T00:20:16.557 回答
3

你完全糊涂了。

您正试图通过默默无闻来实现安全性。客户端上的所有内容都是透明可破解的。

只有在成功的身份验证和授权后,才应允许用户访问资源。时期。

因此,如果您的 API 密钥应该是秘密的(如 Facebook 提供的,...),您必须将它们存储在服务器上

(顺便说一句:删除 angularjs 标签)。

于 2013-01-02T01:00:07.723 回答
-2

我将 AngularJS 与 PlayFramework 一起使用,似乎我可以解决这个问题,因为外部 Web 服务/API 是通过 Play 控制器访问的,其中控制器方法由 AngularJS 模型访问

jsRouter.controllers.Application.tasks().ajax

因此,外部 API 密钥不必在 AngujarJS 模型中。

谢谢大家的帮助。

于 2013-01-15T11:47:13.797 回答