保护仅限 JavaScript 的客户端以访问远程 API



也许我要求一些不可能的事情,但我们开始了:我正在尝试找到一种方法来验证对API的客户端请求,但是一些客户端只能使用JavaScript来发送他们的请求(他们使用托管服务,不允许编写一行服务器端代码)。这意味着任何API密钥,秘密或哈希都必须由JavaScript处理,有效地使它们无用。

我见过一些 API 使用严重混淆的代码,但在我看来,这种方法给人一种虚假的安全感(使用 JavaScript Beautifier 可以轻松阅读)。有没有更好的方法?

提前感谢您的所有答案。

不,JavaScript 是开放的,这意味着零安全性。

最明智的做法是通过您拥有的服务器代理 API,然后让人们使用他们的密钥注册服务器。

这意味着即使他们不能有任何服务器端代码,也没关系,因为您为他们托管服务器。

真的没有办法完全用JavaScript做到这一点。我曾经使用过的唯一选项是通过 IP 地址或其他形式的身份验证来限制 JavaScript 客户端。 身份验证/授权后,通过HTTPS传递它们的密钥,该密钥仅在客户端保留一段时间(即不存储在任何地方)。

缺点是,聪明的恶意用户可以很容易地调试到JavaScript中并确定这个键。

相关内容

  • 没有找到相关文章