一尘不染

如何在AJAX应用程序中保护私有REST API

node.js

我知道有很多类似的问题,但是没有一个是用户可以访问代码的HTML / javascript应用程序。

我有一个用nodejs编写的私有REST API。它是私有的,因为它的唯一目的是为我的HTML5客户端应用程序(Chrome应用程序和Adobe
Air应用程序)提供服务器。因此,API密钥不是一个好的解决方案,因为任何用户都可以看到javascript代码。

我想避免机器人在服务器上创建帐户并浪费资源。

有什么办法可以做到这一点?


阅读 208

收藏
2020-07-07

共1个答案

一尘不染

API密钥是一个不错的解决方案,尤其是在您需要对API密钥的请求来源进行限制的情况下;请考虑,仅当原始Web请求来自授权来源(例如您的私有域)时,才应接受API密钥。如果Web请求来自未经授权的域,则可以简单地拒绝处理该请求。

您可以通过使用特殊的编码方案(例如,基于哈希的消息认证代码(HMAC))来提高此机制的安全性。以下资源清楚地说明了此机制:

http://cloud.dzone.com/news/using-api-keys-
有效

2020-07-07